Verwenden Sie keine JAX-RPC-Handler

Diese Regel markiert Referenzen auf folgende Klassen: <handler> element innerhalb web.xml , webservicesclient.xml , webservices.xml und ejb-jar.xml Dateien. Handler sind zusätzliche Verarbeitungseinheiten, die auf jede Anfrage oder Antwort angewendet werden. Sie können miteinander verkettet werden, so dass mehrere Handler eine Anfrage nacheinander bearbeiten können. Wenn ein Client eine Anfrage sendet, wird sie von jedem Handler in der in den Bereitstellungsdeskriptoren angegebenen Reihenfolge verarbeitet, bevor sie an einen Anbieter gesendet wird. Für um beispielsweise jede Client-Anforderung zu protokollieren, können Sie einen Handler definieren, der jede Anforderungsnachricht liest und in eine Datei schreibt. Handler können auch Anfragen und Antworten ändern. Aufgrund der Implementierung der neuen Klassen wurden alle vorläufig überschriebenen oder implementierten Methoden in der Handler-Klasse aktualisiert.

Zwischen JAX-RPC und JAX-WS gab es eine Reihe bedeutender Änderungen in der Handler-API, von denen einige sind:
- Eine Änderung der Namenskonvention. Von javax.xml.rpc.handler.Handler in javax.xml.ws.handler.soap.SoapHandler .
- Die Entfernung eines HandlerInfo objekt.
- Die beiden Klassen, die Handler bisher implementieren/erweitern mussten, wurden entfernt. Diese waren javax.xml.rpc.handler.Handler und javax.xml.rpc.handler.GenericHandler . Handler müssen nun implementieren javax.xml.ws.handler.soap.SoapHandler oder javax.xml.ws.handler.LogicalHandler .

Ein Beispiel für den Unterschied in der Implementierung von JAX-RPC-Handlern und JAX-WS-SOAPHandlern ist das folgende Beispiel eines folgende Beispiel für einen LoggingHandler.
Bei Verwendung von JAX-RPC-Handlern würde Ihre Klassendeklaration wie folgt aussehen so:

import javax.xml.rpc.handler.GenericHandler;
    
public Class LoggingHandler extends GenericHandler {
     // Implementieren Sie hier Ihren Loggin Handler
    }

Und die gleiche Klasse unter Verwendung von Soap-Handlern in JAX-WS zu definieren:

import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
    
public Class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
     // Implementieren Sie hier Ihren Loggin Handler
    }