首頁 > 網際網路

Java WebService 簡單範例

2019-12-10 14:07:42

該經驗主要是自己將自己最近學習的web開發的一點小收穫和大家分享下

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:workspacewebServiceTheClientsrc -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?


2

原因:JDK版本低於1.6.0_17

解決方法:調整該伺服器端專案所參照的JDK版本為安裝的高版本JDK




3

生成命令路徑含空格問題

報類似如下的異常:directory not found: G:SVN_FILEGB5


4

原因:用戶端src路徑不可含有空格解決方法:在不含空格路徑的檔案夾下重新建立用戶端即可。

5

生成命令不完整問題

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


6

原因:生成命令末尾缺少「?wsdl」解決方法:補上即可。錯誤不完整的命令範例:wsimport -s G:workspacewebServiceTheClientsrc -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello正確完整的命令範例:wsimport -s G:workspacewebServiceTheClientsrc -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl

IT145.com E-mail:sddin#qq.com