1. 程式人生 > >WebService學習總結(五)——使用Myeclipse開發WebService(服務端/客戶端)

WebService學習總結(五)——使用Myeclipse開發WebService(服務端/客戶端)

前言:朋友們開始以下教程前,請先看第五大點的注意事項,以避免不必要的重複操作。

一、準備工作(以下為本例項使用工具)

1、MyEclipse10.7.1

2、JDK 1.6.0_22

二、建立服務端

1、建立【Web Service Project】,命名為【TheService】。



 

 

2、建立【Class】類,命名為【ServiceHello】,位於【com.hyan.service】包下。



 

 

3、編寫供客戶端呼叫的方法,即編譯方法程式碼。



 

4、進行編譯

說明:編譯失敗的話,請將該專案引用的jdk設定為1.6.0_17版或更高版本



 

 

5、測試結果

測試地址:http://localhost:9001/Service/ServiceHello?wsdl



 

三、生成客戶端

1、建立【Web Service Project】,命名為【TheClient】。



 

 

 

2、命令提示視窗執行生成命令。

格式:wsimport -s "src目錄" -p “生成類所在包名” -keep “wsdl釋出地址”

示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

說明:

1)"src目錄"地址不可含空格

2)“wsdl釋出地址”不要漏了“?wsdl



 

3、重新整理專案,檢查生成類



 


 
 

四、最終測試

1、建立【Class】類,命名為【ServiceTest】,位於【com.hyan.test】包下。





  

 

2、編寫測試方法,呼叫服務端方法,並列印返回的結果。



 

 

五、注意事項

1、JDK版本過低問題

報類似如下的異常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?



 

原因:JDK版本低於1.6.0_17

解決方法:調整該服務端專案所引用的JDK版本為安裝的高版本JDK



 

 

 

 

 

 

 

 

 

 

 

2、生成命令路徑含空格問題

報類似如下的異常:directory not found: G:\SVN_FILE\GB\05



 

原因:客戶端src路徑不可含有空格

解決方法:在不含空格路徑的資料夾下重新建立客戶端即可。

3、生成命令不完整問題

報類似如下的異常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):



 

原因:生成命令末尾缺少“?wsdl”

解決方法:補上即可。

錯誤不完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello

正確完整的命令示例:

wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl