根據服務端生成的WSDL文件創建客戶端支持代碼的三種方式


第一種:使用wsimport是JDK自帶的工具,來生成

生成java客戶端代碼常使用的命令參數說明:
參數     說明
-p             定義客戶端生成類的包名稱
-s             指定客戶端執行類的源文件存放目錄
-d                 指定客戶端執行類的class文件的存放目錄
-keep              表示生成客戶端執行類的源代碼
-b             指定jaxws/jaxb綁定文件或額外的schemas
-extension         使用擴展來支持SOAP1.2

示例:   
  wsimport -p client -s source -d bin http://localhost:7654/ts?wsdl
  wsimport -s ./src  http://localhost:8888/axis2/services/HelloServiceNew?wsdl -extension      
 
        
wsimport -p com.vrv.paw.client.area -s . http://localhost/TDS/VRVRange.asmx?wsdl -extension
 
        

將在項目中建立一個對應的包名“com.vrv.paw.client.area”,將這些java文件引入復制到項目中即可

第二種方式:Eclipse根據wsdl文件產生客戶端代碼

1.在瀏覽器中訪問服務地址

2.在頁面中右鍵--->>查看頁面源代碼;全選--->> 復制

3.在項目中新建一個wsdl文件,將復制的內容復制到該文件中

結果:

 第三種方式:使用axis2的wsdl2java把wsdl生成java文件

 

1.wsdl2java 用於根據WSDL生成相應的服務端和客戶端代碼的生成工具。
命令行格式為:WSDL2Java [options] -uri <url or path> : A url or path to a WSDL

其中常用的options具體如下:
-o <path> : 指定生成代碼的輸出路徑
-a           :   生成異步模式的代碼
-s           :   生成同步模式的代碼
-p <pkg> :   指定代碼的package名稱
-l <languange> : 使用的語言(Java/C) 默認是java
-t            : 為代碼生成測試用例
-ss          :   生成服務端代碼 默認不生成
-sd          :   生成服務描述文件 services.xml,僅與-ss一同使用
-d <databinding>   : 指定databingding,例如,adb,xmlbean,jibx,jaxme and jaxbri
-g           : 生成服務端和客戶端的代碼
-pn <port_name>   : 當WSDL中有多個port時,指定其中一個port
-sn <serv_name>   : 選擇WSDL中的一個service
-u                       : 展開data-binding的類
-r <path>             : 為代碼生成指定一個repository


-ssi                     :   為服務端實現代碼生成接口類
-S                       : 為生成的源碼指定存儲路徑
-R                       :   為生成的resources指定存儲路徑
--noBuildXML        :   輸出中不生成build.xml文件
--noWSDL            :   在resources目錄中不生成WSDL文件
--noMessageReceiver : 不生成MessageReceiver類  

2.下載axis2-1.6.3.zip,並解壓到想安裝的位置

3.配置環境變量

AXIS2_HOME   E:\Program Files\axis2-1.6.3

在Path后面添加  ;%AXIS2_HOME%\bin

4.使用命令生成代碼

wsdl2java.bat -uri http://192.168.118.95/ntds/WebServer/PointToPointUntil.asmx?wsdl -o E:\Producer\code

以stub結尾的那個就是我們可以拿來使用的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM