Web 服務以 XML/SOAP 為底層,為跨語言、跨平台調用提供統一機制。Sun ONE Studio 5 內建工具,讓開發者無需深諳 SOAP 細節,即可從現有 J2EE Web 模塊數分鐘內生成、部署、測試 Web 服務,並自動創建客戶端代理。本文以 HelloWorld Servlet 為例,演示全流程。
HelloWorld.java(Servlet 入口)、Salutation.java(含 getMessage(int) 方法)https://localhost/servlet/HelloWorld?m=0 返回 "Hello World!",m=1 返回 "Greetings, World!"com.sun.demo.hello 右鍵 New > Web Service,名稱 SalutationService,架構選 Web Centric(僅需 Web 容器),來源選 Java Methods,勾選 Salutation.getMessage()。SalutationService.xms 選 Generate Web Service Files,產出 SalutationService.wsdl 與服務端綁定代碼(SalutationServiceGenServer 目錄)。WSDL 可發布至 UDDI、作為契約共享、或用於生成客戶端。SalutationService.war,解包為新 Web 模塊,複製 HelloWorld.java、Salutation.java 至新模塊,在 web.xml 註冊 HelloWorld Servlet(映射 /hello),設置上下文根 /SalutationService。右鍵 WEB-INF 選 Build All → Deploy。訪問 https://localhost/SalutationService/SalutationService 顯示 WSDL 頁面;/hello?m=0..2 驗證 Servlet 正常。原 hellowebmod 可棄用。
client 包,New > Web Service Client,名稱 SalutationClient,來源 Local WSDL File 指向 SalutationService.wsdl。SalutationClient.wsc,設置 SOAP Runtime = JAXRPC,Generate Client Files 產出代理類。Deploy 客戶端模塊,訪問 https://localhost/SalutationClient,輸入 0–2 點擊 Invoke,瀏覽器顯示格式化響應與原始 SOAP 鏈接。若遇類加載器找不到 JAXRPCContextListener 上下文,檢查 WEB-INF/classes/.../forte4j/webdesigner/basecomponent/ 是否有 KOMODOxxx.class,缺則從文件系統添加。
Sun ONE Studio 將 Web 服務創建、部署、客戶端生成自動化,開發者專注業務邏輯(Salutation.getMessage),無需手寫 WSDL、映射、綁定代碼,極大降低門檻與出錯率。