1、利用Axis2工具的WSDL2Java命令自動生成JAVA代碼,進入cmd命令行模式,運行命令WSDL2Java
1.生成服務端代碼命令
WSDL2Java -uri wsdl文件全路徑 -p 包名 -d xmlbeans -s -ss -sd -ssi -o 生成的java代碼存放路徑
2.生成客戶端包代碼命令
WSDL2Java -uri wsdl文件全路徑 -p 包名 -d xmlbeans -s -o 生成的java代碼存放路徑
WSDL2Java命令參數說明:
-uri 指定*.wsdl文件,能夠帶具體路徑;
-p 指定生成代碼的包名
-d xmlbeans 使用不一樣的數據綁定方法,默認adb; java
adb:最簡單的生成Axis客戶端的方法。大部分狀況下,這些主要的類都會之內部類的形式建立在stub類中。It is not meant to be a full schema binding application, and has difficulty with structures such as XML Schema element extensions and restrictions。 be meant to:有意要、打算
xmlbeans : 與adb不一樣,他是一個全功能的schema編譯器。他沒有ADB的限制。然而,他也比ADB用起來更復雜。他會產成大量的文件,編程模型不如adb直觀。
JiBX:他是一個數據綁定框架。他不只提供了WSDL-JAVA的轉換,並且提供了JAVA-XML的轉換。JiBX至關靈活,容許你選擇類來表明你的實體,可是這個卻很差作,但還句話說,若是這些都能建好,那麼使用JiBX就更使用ADB同樣容易。編程
對於簡單應用來講adb已經夠用了,若是想用更增強大更加靈活的功能,那麼你可能須要使用其餘兩種方式。app
-o 指定生成代碼放置的路徑;
-ss 表示要生成服務端代碼;
-ssi 表示要生成代碼中,先生成接口類,再生成實現類;
框架
-----------------------------------------------------------------------------------------------------------異步
命令行格式爲: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類 工具
--------------------------------------------------------------------------------------------------------------------測試
示例:ui
wsdl2java.bat -uri http://10.1.1.160/xfire/ElearningService?wsdl -d xmlbeans -p client -s -o "c:/"url