jax-ws服務端生成和客戶端調用實例詳解

 

長時間不寫博客,照片都忘記怎麼上傳了,由於上一篇圖片沒有上傳,所以刪掉,重做了一個。

 

最近公司讓基於別的公司的接口寫一個自己的接口,接口對於別的公司來說相當於客戶端,但對於自己本公司要調用的程序來說,又相當於服務端。

閒來無事,總結下。

先從java自帶的service開始

JAX-WS(java api xml webservice)  基於javaAPI的webService實現

用的工具是myeclipse

首先是服務端

新建webProject  jax-wsServer  如圖:


新建包和類如下圖


既然是入門例子,咱就越簡單越好,關鍵看好流程

IMService.java 內容如下

package com.jax.server;
public interface IMyService {
public int add(int a,int b);
public int minus(int a,int b);
}

MyServiceImpl.java內容如下

package com.jax.server;
public class MyServiceImpl implements IMyService {
public int add(int a, int b) {
// TODO Auto-generated method stub
return a+b;
}
public int minus(int a, int b) {
// TODO Auto-generated method stub
return a-b;
}
}

以上基本準備工作就算完成了,下邊是應用MyEclipse具體生成的步驟。

1 右鍵 src-new others,選擇web service  如圖:


2.單擊下一步,選擇用JAX-WS方式,從java類創建,如圖:


3.點擊Next,選擇要用到的類,就是我們剛纔創建的MyServiceImpl,要是實體類。

選擇在工程中生成wsdl,如圖:


點擊Finish。

4.右鍵工程,選擇Properties,選擇"Java Build Path",然後選擇"Libraries",如圖:


5.點擊 Add Libraries,選擇 MyEclipse Libraries,如下圖:


6.點擊Next,選擇 JAX-WS,如圖:


7.點擊Finish,如下圖:


8.點擊OK,工程結構如下圖:


9.至此,服務端程序生成完畢,部署到Tomcat下,啓動Tomcat,訪問地址

http://localhost:8080/jax-wsServer/MyServiceImplPort?wsdl,如下圖


出現如上圖所示的wsdl頁面了,說明本地服務已經啓動,可以訪問了。

對外地址是http://localhost:8080/jax-wsServer/MyServiceImplPort?wsdl

命名空間targetNamespace="http://server.jax.com/"

服務名 portType name="MyServiceImplDelegate"

提供兩個方法  add和minus

這樣完整的WebService服務端,就配置併發布完成了。


下邊是jax-ws服務端的生成和調用方式。

1.可以新建工程(由於是測試,爲了省事,這裏和server用一個工程),右鍵src,選擇web Service Client,如圖:


2.選擇web Service Client,點擊Next,如下圖:

 

3.點擊Next,指定訪問的webService的路徑,就是我們剛纔訪問的地址,指定客戶端文件的包,如圖:

 

4.點擊Next,如下圖:


5.Finish完成,客戶端文件生成完畢,結構如下:


6.編寫測試類TestClient,代碼如下

package com.jax.client;
public class TestClient {
public static void main(String []arg){
//服務的具體類,繼承了service類
MyServiceImplService service=new MyServiceImplService();
//服務的接口,通過getPort()方法得到
MyServiceImplDelegate se=service.getPort(MyServiceImplDelegate.class);
//通過服務的接口調用方法
int add=se.add(34, 23);
int minus=se.minus(34, 23);
System.out.println("34+23="+add);
System.out.println("34-23="+minus);
}
}

7.運行結果如下:


到此完整的關於 JAX-WS的服務端、客戶端的生成調用的整個過程就完成了,與大家一起學習、共勉。

後續會還有CXF的詳細過程。

 

 

 

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