Java_ee_sdk-5_04-Windows-nojdk.exe(已裝 JDK 可用 nojdk 版)Start Default Server 或命令列 asadmin start-domain domain1https://127.0.0.1:8080/@WebService
public class HelloWebService {
private static int times;
public HelloWebService() {
System.out.println("Inside HelloWebService.HelloWebService...");
}
public String hello(String param) {
System.out.println("Inside HelloWebService.hello... - " + (++times));
return "Return From Server : Hello " + param;
}
}
public class Client {
@WebServiceRef(wsdlLocation =
"https://localhost:8080/HelloWebService/HelloWebServiceService?WSDL")
static HelloWebServiceService service;
public static void main(String[] args) {
new Client().test();
}
public void test() {
try {
HelloWebService port = service.getHelloWebServicePort();
String ret = port.hello(System.getProperty("user.name"));
System.out.println("Hello result = " + ret);
} catch (Exception e) { e.printStackTrace(); }
}
}
關鍵點:@WebServiceRef 宣告已發布服務引用,wsdlLocation 指定 WSDL 位址,容器自動產生 Proxy 供呼叫。
%J2EE_HOME%\domains\domain1\autodeploy(熱部署目錄)cd ch03\01_JaxWS\JavaEEServer
ant
控制台將顯示 Client 發送請求、Server 處理並回應的完整流程。
瀏覽器訪問:https://localhost:8080/HelloWebService/HelloWebServiceService?WSDL 即可看到自動生成的服務契約。
Java EE 5 + JAX-WS 讓 Web Service 開發回歸本質:註解驅動、零配置檔、容器托管生命週期。配合 Ant/Maven 自動化,極大降低分散式服務構建門檻。