天天看點

【JAX-WS入門系列】第02章_使用wsimport編寫WebServices用戶端

完整版見https://jadyer.github.io/2013/03/19/jaxws-and-wsimport-demo/

關于WebServices服務端的代碼,詳見http://blog.csdn.net/jadyer/article/details/8692035

這裡的WebServices用戶端,很簡單,就一個java檔案,用法見注釋

package com.jadyer.client;

import com.jadyer.service.HelloService;
import com.jadyer.service.HelloServiceImplService;

/**
 * 借助wsimport實作WebServices用戶端
 * @see wsimport是JDK6提供的工具,用于根據服務端釋出的wsdl檔案來生成用戶端調用服務端時所需的*.java和*.class檔案
 * @see wsimport -d D:/Download/ -keep -verbose http://127.0.0.1:8888/myHelloService?wsdl
 * @see '-d'--------指明生成的檔案所存放的目錄,注意該參數值對應的目錄要存在,否則會報錯
 * @see '-keep'-----指明生成class檔案的同時也生成對應的java檔案,否則它隻會生成class檔案
 * @see '-verbose'--指明生成檔案時在控制台列印詳細資訊
 * @see '-p'--------指明生成檔案的所屬包名,預設為按照wsdl檔案的targetNamespace屬性來生成包名
 * @create Mar 16, 2013 10:49:18 PM
 * @author 玄玉<http://blog.csdn/net/jadyer>
 */
public class ClientApp {
	public static void main(String[] args) {
//		URL url = new URL("http://127.0.0.1:8888/myHelloService?wsdl");
//		QName qname = new QName("http://service.jadyer.com/", "HelloServiceImplService");
//		Service service = Service.create(url, qname);
//		HelloService hello = service.getPort(HelloService.class);
//		System.out.println(hello.add(2, 6));
//		System.out.println(hello.sayHello("Jadyer"));
		//通過wsimport生成用戶端調用服務端所需的java檔案後
		//即可以通過上面的方式來調用服務端,也可以通過下面的方式,但下面的方式要更省事一些
		HelloServiceImplService helloServiceImpl = new HelloServiceImplService();
		//也可以手工指定URL和QName
		//URL url = new URL("http://127.0.0.1:8888/myHelloService?wsdl");
		//QName qname = new QName("http://service.jadyer.com/", "HelloServiceImplService");
		//HelloServiceImplService helloServiceImpl = new HelloServiceImplService(url, qname);
		HelloService hello = helloServiceImpl.getHelloServiceImplPort();
		System.out.println(hello.add(2, 6));
		System.out.println(hello.sayHello("Jadyer"));
	}
}
           

也可以把wsimport指令寫到一個批進行中

@echo OFF
wsimport -d D:/Download/ -keep -verbose http://127.0.0.1:8888/myHelloService?wsdl
           
上一篇: 小試4解析
下一篇: 小試5

繼續閱讀