WebService客戶端axis代碼生成

WebService客戶端代碼生成

分享一下之前在工作上使用webService的技術,調取別的提供商的文章信息。

1、WebService簡介
WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術。所謂跨編程語言和跨操作平臺,就是說服務端程序採用java編寫,客戶端程序則可以採用其他編程語言編寫,反之亦然。跨操作系統平臺則是指服務端程序和客戶端程序可以在不同的操作系統上運行。 遠程調用,就是一臺計算機的應用可以調用其他計算機上的應用。例如:支付寶,支付寶並沒有銀行卡等數據,它只是去調用銀行提供的接口來獲得數據。還有天氣預報等,也是氣象局把自己的系統服務以webservice服務的形式暴露出來,讓第三方網站和程序可以調用這些服務功能。

2、主要框架比較

參考:https://blog.csdn.net/dzq_boyka/article/details/80360297

3、生成方法

由於提供商用到的是axis1來寫的服務端,下面介紹一下如何使用axis1.4生成webService客戶端

1、下載 axis1.4 工具

2、解壓並在同級目錄創建 bat 文件,內容如下(雙擊bat自動生成客戶端文件)

set axis_lib=C:\software\axis-bin-1_4\axis-1_4\lib

set java_cmd=java -Djava.ext.dirs=%axis_lib%

set axis_servlet=http://localhost:8080/axis2/services/HelloService?wsdl

%java_cmd% org.apache.axis.wsdl.WSDL2Java -u %axis_servlet%


**注意**
第一個是工具裏面的lib地址
第二個一般不需要修改
第三個是接口的地址
第四個一般不需要修改

這段代碼定義了 axis 的 lib,作爲 java 執行的庫文件目錄;接着配置了 web service 的服務端 URL 地址(一般以 wsdl 爲後綴);最後執行 WSDL2Java 方法生成客戶端代碼。生成的代碼會放在 bat 所在的當前目錄下,展開如下圖

 

3、把生成的類都copy到你的項目中,調用即可。

public static void main(String[] args) throws Exception {
  HelloServiceLocator locator = new HelloServiceLocator();
  //locator.getHelloServiceHttpSoap11EndpointAddress()
  //http://localhost:8080/axis2/services/HelloService.HelloServiceHttpSoap11Endpoint/
  // 生成的客戶端代碼中有XxxStub類,可如下方式使用
  HelloServiceSoap11BindingStub stub = new HelloServiceSoap11BindingStub(new URL(locator.getHelloServiceHttpSoap11EndpointAddress()), new
          org.apache.axis.client.Service());
  System.out.println(stub.sayHello());//webservice服務端暴漏給客戶端的方法
}

參考博客 :https://blog.csdn.net/ghsau/article/details/12714965

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章