處理常式可讓您在透過網路傳送 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 服務或用戶端之後,請如下配置處理常式:
- 用滑鼠右鍵按一下適當的 Web 服務部署描述子檔,
然後選取 。
- 要新增處理常式,請按一下處理常式配置之下的新增。
- 輸入類別名稱或瀏覽可用的類別。名稱會自動填入。 如果您輸入的類別名稱尚未存在,
且您選取了產生新處理常式的 Skeleton 類別,則精靈會建立它。
- 如果有多個埠可套用於處理常式,請選取正確的埠。
- 按一下確定。
- 當您將所有必要的處理常式加入清單之後,
您可以變更其列在精靈中的順序,來變更其處理次序。按一下完成。
當精靈建立 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)中的處理常式之前,請先關閉在該描述子檔中開啟的任何編輯器。