Nu utilizați manevre JAX-RPC

Această regulă semnalează referinţele la <handler> element din interior web.xml , webservicesclient.xml , webservices.xml şi ejb-jar.xml fişiere. Handler-urile sunt unități de procesare suplimentare aplicate fiecărei cereri sau răspuns. Ele pot fi înlănțuite, permițând mai multor manipulatori să proceseze o cerere în secvență. Când un client trimite o solicitare, aceasta este procesată de fiecare handler în ordinea specificată în descriptorii de implementare înainte de a fi trimisă unui furnizor. De exemplu, pentru a înregistra fiecare cerere client, puteți defini un handler care citește fiecare mesaj de solicitare și îl scrie într-un fișier. De asemenea, managerii pot modifica cererile și răspunsurile. Datorită implementării noilor clase enumerate mai jos, toate metodele anterior suprascrise sau implementate în clasa handler au fost actualizate.

Au existat o serie de modificări semnificative în API-ul Handler între JAX-RPC și JAX-WS, unele dintre acestea sunt:
- O schimbare a convenției de denumire. De la javax.xml.rpc.handler.Handler până la javax.xml.ws.handler.soap.SoapHandler .
- Îndepărtarea unui HandlerInfo obiect.
- Eliminarea celor două clase pe care Handlers trebuiau anterior să le implementeze/extinda. Acestea au fost javax.xml.rpc.handler.Handler și javax.xml.rpc.handler.GenericHandler . Manipulatorii trebuie acum să implementeze javax.xml.ws.handler.soap.SoapHandler sau javax.xml.ws.handler.LogicalHandler .

Un exemplu de diferență de implementare dintre manevrele JAX-RPC și manipulatorii JAX-WS SOAPHandler este următorul exemplu de LoggingHandler .
Atunci când utilizați JAX-RPC Handlers, declarația clasei dvs. ar arăta ca so:

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

Și pentru a defini aceeași clasă folosind Soap Handlers în 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
    }