javaEE WebService,根據wsdl生成Java程式碼(wsimport命令)
阿新 • • 發佈:2018-12-09
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); } }