前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
前言:朋友們開始以下教程前,請先看第五大點的注意事項,以避免不必要的重復操作。
?
一、準備工作(以下為本實例使用工具)
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
?