前言:朋友們開始以下教程前,請(qǐng)先看第五大點(diǎn)的注意事項(xiàng),以避免不必要的重復(fù)操作。
一、準(zhǔn)備工作(以下為本實(shí)例使用工具)
1、MyEclipse10.7.1
2、JDK 1.6.0_22
二、創(chuàng)建服務(wù)端
1、創(chuàng)建【W(wǎng)eb Service Project】,命名為【TheService】。


2、創(chuàng)建【Class】類,命名為【ServiceHello】,位于【com.hyan.service】包下。


3、編寫供客戶端調(diào)用的方法,即編譯方法代碼。

4、進(jìn)行編譯
說明:編譯失敗的話,請(qǐng)將該項(xiàng)目引用的jdk設(shè)置為1.6.0_17版本或更高版本


5、測(cè)試結(jié)果
測(cè)試地址:http://localhost:9001/Service/ServiceHello?wsdl

三、生成客戶端
1、創(chuàng)建【W(wǎng)eb Service Project】,命名為【TheClient】。



2、命令提示窗口執(zhí)行生成命令。
格式:wsimport -s "src目錄" -p “生成類所在包名” -keep “wsdl發(fā)布地址”
示例:
說明:
1)"src目錄"地址不可含空格
2)“wsdl發(fā)布地址”不要漏了“?wsdl”

3、刷新項(xiàng)目,檢查生成類


四、最終測(cè)試
1、創(chuàng)建【Class】類,命名為【ServiceTest】,位于【com.hyan.test】包下。



2、編寫測(cè)試方法,調(diào)用服務(wù)端方法,并打印返回的結(jié)果。


五、注意事項(xiàng)
1、JDK版本過低問題
報(bào)類似如下的異常: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
解決方法:調(diào)整該服務(wù)端項(xiàng)目所引用的JDK版本為安裝的高版本JDK








2、生成命令路徑含空格問題
報(bào)類似如下的異常:directory not found: G:/SVN_FILE/GB/05

原因:客戶端src路徑不可含有空格
解決方法:在不含空格路徑的文件夾下重新創(chuàng)建客戶端即可。
3、生成命令不完整問題
報(bào)類似如下的異常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):

原因:生成命令末尾缺少“?wsdl”
解決方法:補(bǔ)上即可。
錯(cuò)誤不完整的命令示例:
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
六、示例源碼
服務(wù)端源碼 下載
客戶端源碼 下載
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選