JAX-WS RI組件開發基於JAX-WS規範的WebService服務入門程序

一、服務端

創建一個普通的web項目:JaxWS_ri_calculator_server
先把服務端項目完成之後完整的結構示意圖展示出來,方便你們做參考:

在這裏插入圖片描述

1、創建提供webservice服務的服務接口

創建一個Web項目,並創建一個提供WebService服務的服務接口
該接口提供的服務:加法運算和乘法運算

服務接口

2、創建提供webservice服務的服務接口的實現類

創建提供WebService服務的服務接口實現類

服務接口實現類

3、將JAX-WS RI組件lib目錄下的jar包導入工程

使用JAX-WS RI組件來發布webservice服務到服務器上
需要用到JAX-WS RI組件的相應jar包(我是用的是 jaxws-ri-2.3.2 )
爲了缺包找不到類的情況出現,所以把所有jar包都導入。

找到lib目錄
在這裏插入圖片描述

4、配置sun-jaxws.xml文件

關於該文件中的配置:從*JAX-WS RI組件*安裝目錄下的 *docs目錄* 中找到sun-jaxws.xsd文件,將其中的部分配置複製出來即可。

先找到sun-jaxws.xsd文件:
在這裏插入圖片描述

再複製如下代碼:
在這裏插入圖片描述

最後,手動在工程的/WEB-INF目錄下創建sun-jaxws.xml配置文件並進行配置,如下:
在這裏插入圖片描述

5、配置web.xml

使用JAX-WS RI組件,需要配置一個監聽器:WSServletContextListener
當客戶端訪問webservice服務的時候,該監聽器就會監聽到,並找到同樣配置在web.xml中的WSServlet,交給它來找尋webservice服務。

在這裏插入圖片描述

6、部署到tomcat服務器並訪問服務

將我們的項目添加到tomcat服務器中(跟其他項目一樣的添加方式),並啓動服務器。
打開瀏覽器,地址欄輸入訪問wsdl文件的路徑:http://localhost:8080/JaxWS_ri_calculator_server/calculatorService?wsdl
  • wsdl路徑簡介:
  • localhost :使用tomcat服務器部署,只能在本地自己測試,所以是localhost,也可以是127.0.0.1
  • 8080 : 端口號
  • JaxWS_ri_calcalator_server :項目名
  • calculatorService : 配置文件配置的提供webservice服務的服務接口實現類
  • wsdl : 請求參數,表示訪問該webservice服務的wsdl文件

出現如下頁面,即表示部署成功:
在這裏插入圖片描述

二、客戶端

創建一個普通的java項目:JaxWS_ri_calculator_client
先把客戶端項目完成之後完整的結構示意圖展示出來,方便你們參考:

在這裏插入圖片描述

1、獲取服務端文件

你如果接觸過最簡單的webservice程序,你就會會知道,模擬一個客戶端去調用服務端的服務,需要知道的參數有:
wsdl文件路徑
提供webservice服務的服務接口源文件(.java)
服務接口實現類中@WebService註解上targetNamespace屬性的值(wsdl文件中可以得知)
服務接口實現類中@WebService註解上serviceName屬性的值(wsdl文件中可以得知)
因此,獲取起來相對麻煩。

而JDK1.6自帶了wsimport.exe工具,就是專門爲了方便客戶端獲取服務端文件以及調用webservice服務的。
該工具位於JDK安裝目錄的lib目錄下。

使用方法:
進入命令提示符界面
切換到JDK安裝路徑的lib目錄下
輸入wsimport, 回車,就可以看到該工具的參數,根據需要選擇,通常是 -keep 表示保存文件  -s 保留源文件

格式:wsimport -keep -s 保留源文件的路徑  wsdl文件路徑

命令提示符界面如下:
在這裏插入圖片描述

由圖可知,我設置了將生成的.java源文件放在D:/haha/jax_ws_ri目錄中,查看之後文件如下:
在這裏插入圖片描述
在這裏插入圖片描述

2、將生成的文件加入我們的工程

在工程中,按照生成的包路徑創建包(爲了防止包路徑提示錯誤),然後將生成的文件加入到工程中,如下:

在這裏插入圖片描述

3、創建調用服務的客戶端程序

創建一個client.java來模擬客戶端,然後調用webservice服務

在這裏插入圖片描述

4、結果顯示
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章