1. 程式人生 > >javaEE WebService,根據wsdl生成Java程式碼(wsimport命令)

javaEE WebService,根據wsdl生成Java程式碼(wsimport命令)

wsimport命令是jdk自帶的,可以根據wsdl文件生成Java客戶端程式碼。

cmd---wsimport -s c:/aa http://192.168.0.1/hello?wsdl    (可以通過-p cn.xxx.client來指定生成的java程式碼的包)

HelloService.java(服務端):

package com.xxx.webservice;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
//加入WebService註解
public class HelloService {
	public String sayHello(String name){
		System.out.println("服務端的sayHello方法被呼叫了。。。。");
		return "hello" + name;
	}
	
	public static void main(String[] args) {
		String address = "http://192.168.0.1:8080/hello";
		Object implementor = new HelloService();
		Endpoint.publish(address, implementor);  //通過Endpoint釋出到指定地址/埠

		//http://192.168.0.1:8080/hello?wsdl  檢視服務的說明文件
	}
}

Client.java(客戶端):

package com.xxx.client;

/**
 * 1、使用wsimport命令解析wsdl檔案生成原生代碼
 * 2、通過原生代碼建立一個代理物件
 * 3、通過代理物件實現遠端呼叫
 *
 */
public class Client {
	public static void main(String[] args) {
		HelloServiceService ss = new HelloServiceService();
		//建立客戶端代理物件,用於遠端呼叫
		HelloService proxy = ss.getHelloServicePort();
		String result = proxy.sayHello("小明");  //呼叫遠端方法
		System.out.println(result);
	}
}