導航:首頁 > 配伺服器 > axis客戶端如何引用伺服器端的類

axis客戶端如何引用伺服器端的類

發布時間:2024-05-30 04:48:17

java怎麼使用axis調用webservice

方式一:生成客戶端代碼調用方式。
通過插件工具生成客戶端代碼進行調用。例如:存在一服務為 http://127.0.0.1:8000/axis2/services/SMSSendService?wsdl通過插件可以生成SMSSendServiceStub.Java和SMSSendServiceCallbackHandler.java類。調用的客戶端代碼如:

try {

SMSSendServiceStub stub=new SMSSendServiceStub();

SMSSendServiceStub.method1 m1=new SMSSendServiceStub.method1();
m1.setParam1("xxx");

try {
String ret=stub.multiSend(m1).get_return();
System.out.print(ret);
} catch (RemoteException e) {
e.printStackTrace();
}
} catch (AxisFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
方式二:使用axis2.rpc.client.RPCServiceClient方式調用。

調用的代碼簡單舉例如下:

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;
......

try {

final String endpoint = "http://127.0.0.1:8000/axis2/services/SMSSendService";
String opName = "method1";
String param="xxx";
Object[] opArgs = new Object[] { param };
Class<?>[] opReturnType = new Class[] { String[].class };

RPCServiceClient serviceClient = new RPCServiceClient();//此處RPCServiceClient 對象實例建議定義成類中的static變數,否則多次調用會出現連接超時的錯誤。

Options options = serviceClient.getOptions();
EndpointReference targetEPR = new EndpointReference(endpoint);
options.setTo(targetEPR);
QName opQName = new QName("http://service.ws.sms.ipcc.ydtf.com",
opName);
Object[] ret = serviceClient.invokeBlocking(opQName, opArgs,
opReturnType);
System.out.println(((String[]) ret[0])[0]);
} catch (AxisFault e) {
e.printStackTrace();
}

閱讀全文

與axis客戶端如何引用伺服器端的類相關的資料

熱點內容
新老鳥虛擬資源網解壓碼 瀏覽:557
如何用域用戶登錄ftp伺服器 瀏覽:22
如何將讀書郎平板升級安卓系統 瀏覽:338
XC16編譯器有免費的嗎 瀏覽:498
編譯和程序編輯 瀏覽:847
androidv4和v7 瀏覽:714
iphoneapp怎麼從文件夾安裝 瀏覽:21
去掉加密平板電腦 瀏覽:376
二叉樹用什麼編譯器寫 瀏覽:322
手機除了主板還有什麼app 瀏覽:182
如何還原在伺服器上刪除的文件 瀏覽:851
pdf轉成黑白的 瀏覽:20
程序員為什麼是單身 瀏覽:928
選項卡中的命令組被稱為什麼 瀏覽:261
navicatlinux破解 瀏覽:612
加密視頻可以用採集卡嗎 瀏覽:292
php正則表達式2 瀏覽:482
手機編譯的c程序怎麼安裝 瀏覽:222
vue編譯cdn 瀏覽:933
單片機矩陣鍵盤顯示 瀏覽:230