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í a HandlerInfo objekt.
- Odstranění dvou tříd, které museli Handlery dříve implementovat/rozšířit. Tyto byly javax.xml.rpc.handler.Handler a javax.xml.rpc.handler.GenericHandler . Obsluhující 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í JAX-RPC Handlers by vaše deklarace třídy vypadala takto:

import javax.xml.rpc.handler.GenericHandler;
    
public Class LoggingHandler rozšiřuje GenericHandler {
     // Zde implementujte svůj popisovač přihlášení
    }

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 implementuje SOAPHandler<SOAPMessageContext> {
     // Zde implementujte svůj popisovač přihlášení
    }