Ne használjon JAX-RPC kezelőket

Ez a szabály a következők hivatkozásait jelöli meg: <handler> elem belül web.xml , webservicesclient.xml , webservices.xml és ejb-jar.xml fájlokat. A kezelők további feldolgozási egységek, amelyeket minden kérésre vagy válaszra alkalmaznak. Összeláncolhatók, így több kezelő sorban feldolgozhatja a kérést. Amikor egy ügyfél kérelmet küld, azt minden kezelő a telepítési leírókban meghatározott sorrendben dolgozza fel, mielőtt elküldené a szolgáltatónak. Például az egyes klienskérések naplózásához megadhat egy kezelőt, amely minden kérésüzenetet beolvas és fájlba ír. A kezelők a kéréseket és válaszokat is módosíthatják. Az alább felsorolt új osztályok megvalósítása miatt a kezelő osztályban minden korábban felülírt vagy megvalósított metódus frissült.

A Handler API-ban számos jelentős változás történt a JAX-RPC és a JAX-WS között, ezek közül néhány:
- Elnevezési konvenció változás. Kezdete javax.xml.rpc.handler.Handler eddig: javax.xml.ws.handler.soap.SoapHandler .
- Az eltávolítása a HandlerInfo objektum.
- A két osztály eltávolítása, amelyet a Kezelőknek korábban kellett megvalósítaniuk/kibővíteniük. Ezek voltak javax.xml.rpc.handler.Handler és javax.xml.rpc.handler.GenericHandler . A kezelőknek most végre kell hajtaniuk javax.xml.ws.handler.soap.SoapHandler vagy javax.xml.ws.handler.LogicalHandler .

A JAX-RPC kezelők és a JAX-WS SOAPHandlerek közötti implementáció különbségére egy példa a LoggingHandler következő példája.
JAX-RPC kezelők használatakor az osztálydeklaráció így néz ki:

import javax.xml.rpc.handler.GenericHandler;
    
public Class LoggingHandler kiterjeszti GenericHandler {
     // Itt valósítsa meg bejelentkezési kezelőjét
    }

Ugyanannak az osztálynak a meghatározása a szappankezelők segítségével a JAX-WS-ben:

import javax.xml.ws.handler.soap.SOAPHandler ;
import javax.xml.ws.handler.soap.SOAPMessageContext;
    
public Class LoggingHandler megvalósítja SOAPHandler<SOAPMessageContext> {
     // Itt valósítsa meg bejelentkezési kezelőjét
    }