JDK釋出webservice服務,並生成客戶端程式碼實戰
阿新 • • 發佈:2019-02-07
一 jdk釋出webservice服務
第一步:新建一個工程ws_jdk_server
新建類HelloServer.java
新建釋出類ServerPublish.javapackage com.ws.server; import javax.jws.WebMethod; import javax.jws.WebService; /* * ①需要的許可權是public * ②方法不能是final * ③方法不能是靜態的 * ④至少有一個方法 */ @WebService public class HelloServer { public String sayHello(String name){ return name+" hello!"; } @WebMethod(exclude=true) public String sayBuy(String name){ return name + " Buy!"; } }
package com.ws.server;
import javax.xml.ws.Endpoint;
public class ServerPublish {
public static void main(String[] args) {
//jdk釋出webservice服務,第一個引數服務地址,第二個是引數具體服務類
Endpoint.publish("http://127.0.0.1:8081/hello", new HelloServer());
}
}
在瀏覽器中輸入http://127.0.0.1:8081/hello?wsdl,顯示介面如下,釋出成功
二 jdk生成客戶端程式碼
jdk釋出成功後,使用wsimport 生成java程式碼
例如在F盤wsCode資料夾下開啟命令視窗,輸入命令wsimport -s . -p com.ws.transHello http://127.0.0.1:8081/hello?wsdl
將生成的.class檔案刪除,只保留.java檔案
然後新建一個工程ws_jdk_client,將剛才生成的java檔案拷貝進去
新建一個測試類TestTransHelloClient.java
執行結果:package com.ws.client; import com.ws.transHello.HelloServer; import com.ws.transHello.HelloServerService; public class TestTransHelloClient { public static void main(String[] args) { //建立服務訪問點集合 HelloServerService hs = new HelloServerService(); //根據服務訪問點獲得服務類 HelloServer hsp = hs.getHelloServerPort(); //呼叫業務邏輯類 String result = hsp.sayHello("wangwu"); System.out.println(result); } }
詳細步驟說明參考地址:點選開啟連結