建立 Web 服務處理常式

處理常式可讓您在透過網路傳送 SOAP 訊息之前或之後,處理該訊息。處理常式通常用來處理 SOAP 標頭內容。標頭規格係由 JAX-RPC 和 JSR 109 所定義。 您可以配置 Web 服務和 Web 服務用戶端的處理常式。

如果是已部署的 Web 服務,處理常式可以加入 webservice.xml 部署描述子檔中。如果是 J2EE 1.3 Web 服務用戶端,則處理常式會加入 webservicesclient.xml 中。如果是 J2EE 1.4 Web 服務用戶端, 處理常式可以加入各自的用戶端部署描述子中;Servlet 和 JSP 為 WEB-INF/web.xml,EJB 為 META-INF/ejb-jar.xml,而應用程式用戶端則為 META-INF/application-client.xml。處理常式精靈僅適用於使用 WebSphere® 執行時期環境的 Web 服務。
在您建立了 Web 服務或用戶端之後,請如下配置處理常式:
  1. 用滑鼠右鍵按一下適當的 Web 服務部署描述子檔, 然後選取 Web 服務 > 配置處理常式
  2. 要新增處理常式,請按一下處理常式配置之下的新增
    1. 輸入類別名稱或瀏覽可用的類別。名稱會自動填入。 如果您輸入的類別名稱尚未存在, 且您選取了產生新處理常式的 Skeleton 類別,則精靈會建立它。
    2. 如果有多個埠可套用於處理常式,請選取正確的埠。
    3. 按一下確定
  3. 當您將所有必要的處理常式加入清單之後, 您可以變更其列在精靈中的順序,來變更其處理次序。按一下完成

當精靈建立 Skeleton 處理常式時,處理常式的實作會自動於 Java™ 編輯器中開啟。如果您利用精靈建立了多個處理常式, 只有第一個處理常式會於 Java 編輯器中開啟。

在新增了處理常式之後,您可利用「部署描述子編輯器」或「Web 服務編輯器」來編輯其配置。要執行這項作業,請按兩下 Web 服務或用戶端部署描述子, 然後選取 WS 處理常式處理常式標籤。 您也可以利用 Java 編輯器, 來編輯處理常式實作本身。

限制:
  • 目前有一個問題存在, 那就是在「處理常式配置」精靈中新增 Handler 之後,除非 Handler Java 檔已存在於完全相同的位置, 且您未選取「不改寫可載入的 Java 類別」,否則精靈都會在您專案的主要來源資料夾中產生新的架構 Handler Java 檔。精靈並不會檢查 EAR 中的其他位置是否有完整名稱相同的 Handler 存在。因此,當您使用精靈來新增 Handler 時,如果其已存在於 EAR 中的其他位置(如位於專案中不同的來源資料夾,或是 EAR 的另一個模組中),精靈會寫入新的架構 Handler,並忽略原來的 Handler 類別。如果發生此狀況,請刪除由精靈產生的架構 Handler。
  • 如果 J2EE 部署描述子編輯器開啟時含有未儲存的變更,而且您又啟動「處理常式配置」精靈來將「處理常式」新增至相同的描述子中, 那麼,精靈可以正確完成,但是您無法儲存擱置在編輯器階段作業中的變更。 如果您嘗試儲存,編輯器就會產生「檔案已修改」訊息。利用「處理常式配置」精靈來使用 J2EE 部署描述子檔(如 webservices.xml、webservicesclient.xml、web-inf.xml、ejb-jar.xml 或 application-client.xml)中的處理常式之前,請先關閉在該描述子檔中開啟的任何編輯器。
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.