通過前兩篇,webservice接口已經完全發佈成功了,實現也已經完成。那使用webservice的那端如何調用webservice呢?有兩種方式,一種是直接通過url進行調用,這樣是不需要引入任何jar包的,直接通過代碼就可以訪問到webservice。還有一種就是通過引入客戶端的jar包來訪問webservice。這種形式,訪問webservice和調用普通的類基本沒有差別,客戶端jar包已經將訪問webservice的代碼給封裝起來了,所以,我們直接調用就好了。在實際的項目中,這兩種方式都有所應用。那我們先看看第一種方式是如何實現的。
String wsdlUrl = "http://10.31.1.139:18610/dm/services/EastBusinessService?wsdl";
Service service = new Service(); //創建一個Service實例,注意是必須的!
Call call;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new URL(wsdlUrl));
call.setOperationName("sayHello"); //要調用的方法名
String res;
res = (String) call.invoke(new Object[]{“nihao”});//傳入的參數
System.out.println("return value is " + res ); //打印輸出結果
} catch (ServiceException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
第二種方式客戶端實現
EastBusinessService userlo=new EastBusinessServiceLocator();
IEastBusinessService user;
try {
user = userlo.getEastBusinessService();
System.out.println(user.sayHello(“nihao”));
} catch (ServiceException e1) {
e1.printStackTrace();
}catch (RemoteException e) {
e.printStackTrace();
}
到這裏,webservice接口已經全部實現完成了。由剛開始的服務端部署,到後來的客戶端實現。Webservice的主要目標是跨平臺的可互操作性。在以下三種情況下,使用webservice能給我們帶來極大的好處。一、跨防火牆的通信,二、應用程序集成,三、B2B的集成,四、軟件和數據重用。