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 Handlery musiały wcześniej implementować/rozszerzyć. To były javax.xml.rpc.handler.Handler oraz javax.xml.rpc.handler.GenericHandler . Teraz osoby obsługujące muszą wdrożyć 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 programów obsługi JAX-RPC deklaracja klasy będzie wyglądać następująco:

import javax.xml.rpc.handler.GenericHandler;
    
publiczna Klasa LoggingHandler rozszerza GenericHandler {
// Zaimplementuj tutaj swój program obsługi logowania
}

Aby zdefiniować tę samą klasę za pomocą Soap Handlers w JAX-WS:

import javax.xml.ws.handler.soap.SOAPHandler ;
importuj javax.xml.ws.handler.soap.SOAPMessageContext;
    
publiczna Klasa LoggingHandler implementuje SOAPHandler<SOAPMessageContext> {
// Zaimplementuj tutaj swój program obsługi logowania
}