1. 程式人生 > >JDK釋出webservice服務,並生成客戶端程式碼實戰

JDK釋出webservice服務,並生成客戶端程式碼實戰

一 jdk釋出webservice服務

第一步:新建一個工程ws_jdk_server

新建類HelloServer.java

package 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!";
	}
}
新建釋出類ServerPublish.java
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);
	}

}
執行結果:



詳細步驟說明參考地址:點選開啟連結