1. 程式人生 > >java與WebService對接案例--生成代碼方法

java與WebService對接案例--生成代碼方法

sdl2 提示 color 一半 object 為我 客戶端代碼 用友 .html

  前端時間出差做項目,因為我們給對三方工廠做Mes項目,其中有一個報工環節,需要我們的Mes中將產品提交到他們的U9(Erp)上,但是由於u9是用友的產品,用c#寫的,而我是用java寫的,那麽WebService生成的代碼就稍微難一些,第三方公司也無法精確調試程序,導致我這邊白白花費了半個月的時間去跟u9對接,最後我們所有人都沒有辦法了,直接采用C#重新寫一個WebService作為中間者,而我們調用新的WebService就相當容易了,其實這也是一種解決辦法。

  第一次與WebService做對接,所以就借此機會記錄一筆。

對方會給的文檔,其中有一個url,根據這個url就可以生成客戶端代碼。(其實還可以采用eclipse自帶功能生成代碼,不過作者還是推薦采用如下這種方式更好)

使用工具:如apache-cxf-3.2.1.zip,下載地址:http://cxf.apache.org/download.html

解壓apache-cxf-3.2.1到D:\\apache-cxf-3.2.1,

設置環境變量

1、CXF_HOME=D:\apache-cxf-3.2.1

2、在path後面加上 %CXF_HOME%/bin;

3、通過cmd,輸入wsdl2java,提示usage則配置成功。

4、開始生成代碼:將文檔中的url:http://i.simon.com.cn/CreateDispatchCompeleteOrder/CreateDispatchCompeleteService?wsdl

  cmd中執行:

  wsdl2java -d E:\\u9 -client http://i.simon.com.cn/CreateDispatchCompeleteOrder/CreateDispatchCompeleteService?wsdl ,

  那麽u9這個目錄中會生成相應的代碼,放入項目中即可,最後參照對方給的文檔開始編寫。

  這段代碼一半都是我的固定用法,還有一些wsdl2java的命令可以參照:

-p 指定其wsdl的命名空間,也就是要生成代碼的包名

-d 指定要產生代碼所在目錄

-client 生成客戶端測試web service的代碼

-server 生成服務器啟動web service的代碼

-impl 生成web service的實現代碼

-ant 生成build.xml文件

-all 生成所有開始端點代碼:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

java與WebService對接案例--生成代碼方法