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:
Und die gleiche Klasse unter Verwendung von Soap-Handlern in JAX-WS zu definieren: