實作 JAX-RPC Web 服務用戶端
您可以根據 Web Services for Java™ Platform Enterprise Edition (Java EE) 規格及 Java API for XML-based RPC (JAX-RPC) 程式設計模型來開發 Web 服務用戶端。
開始之前

關於這項作業
- 根據 JAX-RPC 程式設計模型開發 Web 服務用戶端
Web 服務用戶端程式設計模型提供在 Java EE 環境中存取 Web 服務的準則。您可以根據 Web Services for Java Platform Enterprise Edition (Java EE) 規格及 Java API for XML-based Remote Procedure Call (JAX-RPC) 規格來開發 Web 服務用戶端。應用程式伺服器支援基於 JAX-RPC 程式設計模型的 Enterprise JavaBeans (EJB) 用戶端、Java EE 應用程式用戶端、JavaServer Pages (JSP) 檔及 Servlet。
- 受管理和未受管理的 JAX-RPC Web 服務用戶端
使用 JAX-RPC 程式設計模型時,應用程式伺服器支援受管理和未受管理的 Web 服務用戶端:
- 受管理的用戶端。
Web Services for Java EE 用戶端由 Java 規格需求 (JSR) 109 定義,因為在 Java EE 儲存器中執行,所以是受管理的用戶端。 這些用戶端包裝成企業保存檔 (EAR),且包含作為服務要求端的元件。 這些元件由 Java EE 用戶端應用程式、Web 元件(例如 Servlet 或 JavaServer Pages (JSP))或階段作業 Enterprise JavaBeans (EJB) 組成。Web 服務受管理用戶端使用 JSR 109 API 和部署資訊來查閱和呼叫 Web 服務。
對於受管理用戶端,服務查閱是透過 Java 命名和目錄介面 (JNDI) 查閱。請參閱「設定使用者名稱記號 Web 服務安全」、「數位簽章 Web 服務安全」及「小型認證機構 (LPTA) 記號 Web 服務安全」。 下列是符合 JSR 109 的環境定義查閱範例:
InitialContext ctx = new InitialContext(); FredsBankServiceLocator locator =(FredsBankService)ctx.lookup("java:comp/env/service/FredsBankService"); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
為受管理用戶端實例化環境定義查閱時,請不要對服務定位器使用 new() 方法。以下是不符合 JSR 109 的範例(新的 ServiceLocator):
Properties prop = new Properties(); InitialContext ctx = new InitialContext(prop); FredsBankServiceLocator locator = new FredsBankServiceLocator(); FredsBank fb = locator.getFredsBank(url); long balance = fb.getBalance();
因為沒有 lookup() 呼叫,所以用戶端無法存取部署描述子。對於 JAX-RPC Web 服務,「Web 服務安全」配置位於 Web 服務部署描述子中。
- 未受管理的用戶端
如果 Java Platform Standard Edition (Java SE 6) 用戶端使用 JAX-RPC 執行時期環境來呼叫 Web 服務,而且不在任何 Java EE 儲存器中執行,就稱為未受管理的用戶端。Web 服務未受管理的用戶端是獨立式 Java 用戶端,可以直接檢查 WSDL 檔,並直接使用 JAX-RPC API 來設法呼叫 Web 服務。這些用戶端包裝成 JAR 檔,其中不含任何部署資訊。
WSDL 檔與 Java 應用程式之間必須存在對映,Java 應用程式才能作為 Web 服務用戶端。 對於 JAX-RPC Web 服務,此對映由 JAX-RPC 規格定義。您可以使用 Java 元件來實作 Web 服務,作法是在 WSDL 檔中指定元件介面和連結資訊,並設計應用程式伺服器基礎架構來接受服務要求。 這整個過程都是根據 Web Services for Java EE 規格。 JAX-RPC 規格定義 WSDL 檔、Java 程式碼和 XML 綱目類型之間的對映。
- 受管理的用戶端。
程序
結果
您已建立並測試 Web 服務用戶端應用程式。
下一步
在開發 Web 服務應用程式用戶端,而且靜態連結用戶端之後,實作所使用的服務端點,就是您在開發過程中使用的 WSDL 檔中識別的服務端點。 在安裝 Web 服務應用程式期間或之後,您可能想要變更服務端點。 對於受管理的用戶端,您可以使用管理主控台或 wsadmin Scripting 工具變更端點。
另外,您可以考慮實作 Web 服務用戶端的延伸,以自訂 Web 服務。 這些延伸的一些例子包括在 SOAP 標頭中傳送和接收值、傳送和接收 HTTP 或 JMS 傳輸標頭,或使用自訂連結。如需進一步瞭解這些延伸,請參閱「實作 Web 服務用戶端的延伸」。