不要使用 JAX-RPC 處理程序

此規則會標示下列參照: <handler> 內的元素 web.xml , webservicesclient.xml , webservices.xml ,以及 ejb-jar.xml 檔案。 處理程序是套用於每個請求或回應的附加處理單元。 它們可以連結在一起,允許多個處理程序按順序處理請求。 當用戶端發送請求時,每個處理程序都會按照部署描述符中指定的順序處理該請求,然後再將其傳送給提供者。 例如,要記錄每個客戶端請求,您可以定義一個處理程序來讀取每個請求訊息並將其寫入檔案。 處理程序還可以修改請求和回應。 由於下面列出的新類別的實現,處理程序類別中所有先前覆蓋或實現的方法都已更新。

JAX-RPC 和 JAX-WS 之間的 Handler API 發生了許多重大變化,其中一些是:
- 命名約定更改。 寄件者 javax.xml.rpc.handler.Handler 收件者 javax.xml.ws.handler.soap.SoapHandler .
- 刪除一個 HandlerInfo 目的。
- 刪除了處理程序之前需要實作/擴展的兩個類別。 這些是 javax.xml.rpc.handler.Handler javax.xml.rpc.handler.GenericHandler 。處理程序現在必須實施 javax.xml.ws.handler.soap.SoapHandler javax.xml.ws.handler.LogicalHandler .

JAX-RPC 處理程序和 JAX-WS SOAPHandler 之間的實作差異的範例是以下LoggingHandler範例。
當使用 JAX-RPC 處理程序時,您的類別聲明將如下所示:

導入javax.xml.rpc.handler.GenericHandler;
    
公共類別LoggingHandler擴充GenericHandler {
     // 在這裡實作你的登入處理程序
    }

並在 JAX-WS 中使用 Soap Handlers 定義相同的類別:

導入javax.xml.ws.handler.soap.SOAPHandler ;
導入javax.xml.ws.handler.soap.SOAPMessageContext;
    
公共類別LoggingHandler實作SOAPHandler<SOAPMessageContext> {
     // 在這裡實作你的登入處理程序
    }