Java WebService 簡單小例項
WebService到底是什麼?
Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過SOAP在Web上提供的軟體服務,使用WSDL檔案進行說明,並通過UDDI進行註冊。
一言以蔽之: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目錄"
示例:
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):