axis2看了一些資料 自己總結下
客戶端呼叫介面流程:首先是先
// 建立request soap包工廠 fac。 建立 請求soap 包的工廠
private static omfactory fac = omabstractfactory.getomfactory();
//先通過fac工廠 建立 sopa的 命名空間,"tns" 有看別人提到過說是服務名,但是"" 或者填任何都可以,只要不和//已經的變數名重複,如果和呼叫介面 重複會報錯,提示已存在
omnamespace omns = fac.createomnamespace("","tns");
//再通過fac工廠 建立 所需要 請求方法omelement 物件
string methodname = "getweatherbycityname";//呼叫的方法名
omelement method = fac.createomelement(methodname,omns);
//然後 給 方法物件 新增方法引數名稱 和請求的引數值
string args = new string;
string city = "杭州";
string vals = new string;
for(int i=0;iomnamespace params = fac.createomnamespace(args[i],omns);
params.settext(vals[i]);
method.addchild(params);
}//建立 端點引用 endpointreference 例項物件。並對endpointreference設定private static endpointreference targetepr = new endpointreference(url);
url為 string url = ""; 是webservice 介面位址。
//然後建立serviceclient 客戶端物件
serviceclient client = new serviceclient ();
//建立serviceclient 物件client 的 options選項
options options = new options();
options.setto(targetepr);
//在options中設定soap包的action soapaction
string soapaction = "getweatherbycityname";
options.setaction(soapaction);
"false");//設定不受限制. 這個據說是不受限制 至少我沒遇到要新增這個
//然後給客戶端設定opition選項
client .setoptions(options);
//呼叫介面方法
omelement result = client.sendreceive(method);
axis2接收json 利用AXIS2返回JSON
在已經有axis2的基礎之上操作 4 在axis2.xml中新增json訊息格式,找到標籤,在這個標籤裡新增如下 段 class org.apache.axis2.json.jsonmessageformatter class org.apache.axis2.json.jsonbadgerfish...
axis2學習 axis2訊息處理機制
為了更好的理解axis2,我們首先看web services的訊息生命週期的概念。通常,訊息的生命週期如下圖 img 訊息傳送者應用建立原始的soap訊息 由相應的訊息頭和訊息體組成的xml檔案,一旦訊息準備完畢,就會把這些訊息通過http jms等方式傳送出去。如果axis2載入了其他的ws 模組...
axis2系列之非同步呼叫
非同步呼叫是指客戶端發出呼叫服務端的請求,不必一直等待伺服器的響應,在伺服器返回結果之前,客戶端可以執行其他的操作。客戶端非同步呼叫web service 服務端web service與普通web service一樣,沒有特殊要求,客戶端基本有兩種實現方式 在客戶端使用多執行緒,每個執行緒負責乙個w...