1. 程式人生 > >WebService學習——利用Eclipse生成JAX-WS WebService客戶端

WebService學習——利用Eclipse生成JAX-WS WebService客戶端

上一篇介紹瞭如何用Eclipse生成JAX-WS WebService服務端,現在介紹如何生成客戶端

1、建立一個web工程,Dynamic Web Project (File->New->Dynamic Web Project),取名叫“ws-client”


2、建立WebService客戶端(選中建立的客戶端右擊New->Other->Web Services->Web Service Client),在Service definition中輸入wsdl檔案的地址,並在Configuration中選擇執行環境,我的環境是Tomcat7.0和CXF,然後一直點選Next,最後Finish。


Eclipse後臺開始生成檔案並列印日誌

Loading FrontEnd jaxws ...
Loading DataBinding jaxb ...
wsdl2java -client -d E:\workspace\ws-client\.cxftmp/src -classdir E:\workspace\ws-client\build\classes -p http://impl.service.demo.ws/=ws.demo.service.impl -impl -validate -exsh false -dns true -dex true -wsdlLocation http://localhost:8081/ws-server/services/AddServiceImplPort?wsdl -verbose -defaultValues -fe jaxws -db jaxb -wv 1.1 http://localhost:8081/ws-server/services/AddServiceImplPort?wsdl
wsdl2java - Apache CXF 3.1.6

生成檔案後項目結構:


3、寫main函式

package main;

import ws.demo.service.AddService;
import ws.demo.service.impl.AddServiceImplService;

public class Main {

	public static void main(String[] args) {
		AddServiceImplService service = new AddServiceImplService();
		AddService port = service.getAddServiceImplPort();
		int result = port.add(3, 4);
		
		System.out.println(result);
	}

}

執行程式,輸出:

六月 14, 2016 5:09:15 下午 org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL
資訊: Creating Service {http://impl.service.demo.ws/}AddServiceImplService from WSDL: http://localhost:8081/ws-server/services/AddServiceImplPort?wsdl
7

其中7就是最後通過WebService呼叫服務端執行的結果。