Это правило помечает ссылки на: <handler> элемент внутри web.xml , webservicesclient.xml , webservices.xml и ejb-jar.xml файлы. Обработчики — это дополнительные блоки обработки, применяемые к каждому запросу или ответу. Их можно объединять в цепочку, позволяя нескольким обработчикам последовательно обрабатывать запрос. Когда клиент отправляет запрос, он обрабатывается каждым обработчиком в порядке, указанном в дескрипторах развертывания, перед отправкой поставщику. Например, чтобы регистрировать каждый клиентский запрос, вы можете определить обработчик, который считывает каждое сообщение запроса и записывает его в файл. Обработчики также могут изменять запросы и ответы. В связи с реализацией новых классов, перечисленных ниже, все ранее переопределенные или реализованные методы в классе обработчика были обновлены.
В API обработчика между JAX-RPC и JAX-WS произошел ряд существенных изменений, вот некоторые из них:
- Изменение соглашения об именовании. От
javax.xml.rpc.handler.Handler
к
javax.xml.ws.handler.soap.SoapHandler
.
- Удаление
HandlerInfo
объект.
- Удаление двух классов, которые ранее требовалось реализовать/расширить обработчикам. Это были
javax.xml.rpc.handler.Handler
и
javax.xml.rpc.handler.GenericHandler
. Теперь обработчики должны реализовать
javax.xml.ws.handler.soap.SoapHandler
или
javax.xml.ws.handler.LogicalHandler
.
Примером разницы в реализации обработчиков JAX-RPC и обработчиков JAX-WS SOAPHandler является следующий пример LoggingHandler .
При использовании обработчиков JAX-RPC объявление класса будет выглядеть следующим образом:
И чтобы определить тот же класс с помощью обработчиков Soap в JAX-WS: