Questa regola contrassegna i riferimenti a <handler> all'interno di web.xml , webservicesclient.xml , webservices.xml e ad ejb-jar.xml File. I gestori sono unità di elaborazione aggiuntive applicate a ogni richiesta o risposta. Possono essere concatenati tra loro, permettendo a più gestori di elaborare una richiesta in sequenza. Quando un client invia una richiesta, questa viene elaborata da ogni gestore da ogni gestore nell'ordine specificato nei descrittori di distribuzione prima di essere inviata a un provider. Per esempio per esempio, per registrare ogni richiesta del client, si può definire un gestore che legge ogni messaggio di richiesta e lo scrive in un file in un file. I gestori possono anche modificare le richieste e le risposte. A causa dell'implementazione delle nuove classi elencate di seguito, tutti i metodi sovrascritti o implementati nella classe handler sono stati aggiornati.
Tra JAX-RPC e JAX-WS sono state apportate diverse modifiche significative all'API dell'Handler
sono:
- Una modifica della convenzione di denominazione. Da
javax.xml.rpc.handler.Handler
a
javax.xml.ws.handler.soap.SoapHandler
.
- La rimozione di un
HandlerInfo
oggetto.
- L'eliminazione delle due classi che i gestori dovevano implementare/estendere. Questi erano
javax.xml.rpc.handler.Handler
e
javax.xml.rpc.handler.GenericHandler
. I gestori devono ora implementare
javax.xml.ws.handler.soap.SoapHandler
oppure
javax.xml.ws.handler.LogicalHandler
.
Un esempio della differenza di implementazione tra i gestori JAX-RPC e i gestori JAX-WS SOAPHandler è il seguente esempio di LoggingHandler
seguente esempio di un LoggingHandler.
Quando si utilizzano i gestori JAX-RPC, la dichiarazione della classe sarà come
quindi:
E definire la stessa classe usando i gestori di Soap in JAX-WS: