Nepoužívejte manipulátory JAX-RPC

Toto pravidlo označí příznakem odkazy na <handler> prvek uvnitř web.xml , webservicesclient.xml , webservices.xml a ejb-jar.xml soubory. Obslužné rutiny jsou další procesní jednotky aplikované na každý požadavek nebo odpověď. Mohou být zřetězeny, což umožňuje více obslužným rutinám zpracovat požadavek v sekvenci. Když klient odešle požadavek, zpracuje jej každý obslužný program v pořadí zadaném v deskriptorech nasazení, než je odeslán poskytovateli. Chcete-li například protokolovat každý požadavek klienta, můžete definovat obslužnou rutinu, která přečte každou zprávu požadavku a zapíše ji do souboru. Obslužné rutiny mohou také upravovat požadavky a odpovědi. Kvůli implementaci nových tříd uvedených níže byly aktualizovány všechny dříve přepsané nebo implementované metody ve třídě handler.

Mezi JAX-RPC a JAX-WS došlo k řadě významných změn v rozhraní API Handler, některé z nich jsou:
- Změna konvence pojmenování. Od javax.xml.rpc.handler.Handler do javax.xml.ws.handler.soap.SoapHandler .
- Odstranění HandlerInfo objekt.
- Odstranění dvou tříd, které musely dříve implementovat/rozšiřovat nástroje Handler. Tyto stránky byly javax.xml.rpc.handler.Handler a javax.xml.rpc.handler.GenericHandler . Zpracovatelé nyní musí implementovat javax.xml.ws.handler.soap.SoapHandler nebo javax.xml.ws.handler.LogicalHandler .

Příkladem rozdílu v implementaci mezi JAX-RPC Handlers a JAX-WS SOAPHandlers je následující příklad LoggingHandler .
Při použití obslužných rutin JAX-RPC by deklarace třídy vypadala takto jako so:

import javax.xml.rpc.handler.GenericHandler;
    
public Class LoggingHandler extends GenericHandler {
     // Implement your loggin Handler here
    }

A definovat stejnou třídu pomocí Soap Handlers v JAX-WS:

import javax.xml.ws.handler.soap.SOAPHandler;
import javax.xml.ws.handler.soap.SOAPMessageContext;
    
public Class LoggingHandler implements SOAPHandler<SOAPMessageContext> {
     // Implement your loggin Handler here
    }