天天看點

JAX-WS生成服務端與用戶端的兩條指令

    在服務端生成wsdl目錄

首先進入dos指令視窗,定位到項目根目錄,如:

C:\Users\wanzheny\workspace\baidumap

執行指令行:

wsgen -cp C:\Users\wanzheny\workspace\baidumap\WebContent\WEB-INF\classes com.ws.impl.Hello -wsdl -s src -r wsdl
           

解釋:

-cp後跟的是項目的classes路徑以及要生成ws的類全路徑,如果該目錄找不到,參考我的前一篇文章。

Eclipse下無法自動編譯,或者WEB-INF/classes目錄下沒檔案,編譯失敗的解決辦法

-s:後面跟上source folder,即源檔案路徑。

-d  指定生成的class檔案的位置。

-r  指定生成的resources檔案的位置。如WSDL、XSD 的位置。該路徑需要自己手動建立。

-wsdl  -servicename,-portname 三個參數指定生成的 WSDL 檔案中的 service 和 port 的名稱。 注意:這裡的SEI是一個 endpoint implementation class,而不是一個接口。必須先寫好一個endpoint的實作類,該類中用@WebService聲明好WebService,再将它編譯成class檔案,才能提供給wsgen使用。

   在用戶端導入服務端輔助代碼

Usage:wsimport [options] <WSDL_URI> 主要選項:

同樣先到dos指令下,定位到用戶端所在的跟路徑下,如:

C:\Users\wanzheny\ws3\client

執行指令:

wsimport -keep http://localhost:8080/baidumap/HelloService?wsdl -d src
           

解釋:

-keep 後面跟上wsdl的通路路徑。

-d 指定生成的 class 檔案的位置,一般放置到src目錄下。

-s指定生成的 Javasource 檔案的位置。

 -wsdllocation指定生成的Java source中@WebService.WSDLLocation和 @WebServiceClient. wsdllocation的值

繼續閱讀