JAX-WS WebService

一、簡介

JAX-WS規範是一組XML web services的JAVA API,以下示例是使用jdk提供的接口實現一個簡單的web service。

二、示例

1、使用接口服務器端

建一個web工程,分別生命建一個接口和一個實現類,並加上響應的webservice註解,代碼如下

//接口
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface SayHiService {
	@WebMethod
	String sayHi(@WebParam(name = "name") String name);
}

//實現
import javax.jws.WebService;

@WebService(endpointInterface = "com.test.ws.SayHiService",serviceName="SayHiService")
public class SayHiServiceImp implements SayHiService {
	// 訪問地址:http://127.0.0.1:8080/webSrv/SayHiService?wsdl
	@Override
	public String sayHi(String name) {
		System.out.println(name + ",Hi World!");
		return name + ",Hi World!";
	}

}

2、不使用接口的服務器端

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService(serviceName = "SayHelloService")
public class SayHelloService {
	@WebMethod(operationName = "sayHi")
	public String sayHi(@WebParam(name = "name") String name) {
		System.out.println(name + ",Hello World!");
		return name + ",Hello World!";
	}
}

3、通過jdk指令生成客戶端代碼

注意:此時服務器端的web應用必須是已經發的的

wsimport -keep http://127.0.0.1:8080/webSrv/SayHelloService?wsdl -d D:\temp\ -p com.test.wsc.hello

4、寫客戶端代碼

把生成的代碼複製到新建的java工程中的對應package下,並新建一個測試類進行測試,測試類代碼如下

import com.test.wsc.SayHiService;
import com.test.wsc.SayHiService_Service;

public class WSTest {

	public static void main(String[] args) {
		SayHiService_Service servie = new SayHiService_Service();
		SayHiService shs = servie.getSayHiServiceImpPort();
		String sayHi = shs.sayHi("張三");
		System.out.println(sayHi);
	}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章