一、簡介
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);
}
}