Nie używaj programów obsługi JAX-RPC

Ta reguła oznacza flagą odwołania do <handler> element wewnątrz web.xml , webservicesclient.xml , webservices.xml oraz ejb-jar.xml akta. Obsługujące jednostki to dodatkowe jednostki przetwarzające stosowane do każdego żądania lub odpowiedzi. Można je łączyć ze sobą, co pozwala wielu programom przetwarzającym żądanie w kolejności. Gdy klient wysyła żądanie, jest ono przetwarzane przez każdy moduł obsługi w kolejności określonej w deskryptorach wdrożenia przed wysłaniem do dostawcy. Na przykład, aby rejestrować każde żądanie klienta, możesz zdefiniować procedurę obsługi, która będzie odczytywać każdą wiadomość żądania i zapisywać ją do pliku. Obsługujący mogą również modyfikować żądania i odpowiedzi. Ze względu na implementację nowych klas wymienionych poniżej, wszystkie wcześniej nadpisane lub zaimplementowane metody w klasie obsługi zostały zaktualizowane.

W interfejsie API obsługi między JAX-RPC i JAX-WS zaszło wiele istotnych zmian. Oto niektóre z nich:
- Zmiana konwencji nazewnictwa. Od javax.xml.rpc.handler.Handler do javax.xml.ws.handler.soap.SoapHandler .
- Usunięcie HandlerInfo obiekt.
- Usunięcie dwóch klas, które wcześniej musiały być implementowane/rozszerzane przez handlerów. Te były javax.xml.rpc.handler.Handler oraz javax.xml.rpc.handler.GenericHandler . Programy obsługi muszą teraz implementować javax.xml.ws.handler.soap.SoapHandler LUB javax.xml.ws.handler.LogicalHandler .

Przykładem różnicy w implementacji pomiędzy procedurami obsługi JAX-RPC i procedurami obsługi SOAPHandler JAX-WS jest poniższy przykład LoggingHandler .
W przypadku korzystania z JAX-RPC Handlers deklaracja klasy wyglądałaby następująco jak więc:

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

Aby zdefiniować tę samą klasę za pomocą Soap Handlers w 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
    }