2016-10-26 5 views
0

Может кто-нибудь объяснить, зачем нам нужен LogicalHandler, если мы сможем сделать гораздо больше с SOAPHandler в JaxWs?SOAPHandler vs LogicalHandler

ответ

0

Из JAX-WS 2.2 spec:

JAX-WS 2.0 определяет два типа обработчика:

Логических обработчиков, что только работают на сообщения свойств контекста и полезных нагрузки сообщений. Логические обработчики являются агностиками протокола и не могут повлиять на протокол определенных частей сообщения. Логические обработчики - это обработчики, которые реализуют javax.xml.ws.handler.LogicalHandler. Обработчики протоколов, которые работают с свойствами контекста сообщений и конкретными сообщениями протокола.

Обработчики протокола относятся к конкретному протоколу и могут обращаться к и изменять специфические аспекты протокола. Обработчики протоколов являются обработчиками, которые реализуют любой интерфейс, полученный из javax.xml.ws- .handler.Handler, за исключением javax.xml.ws.handler.LogicalHandler.

...

Обработчики, отличных от SOAP протоколов, как ожидается, реализовать интерфейс в специфичные для протокола, который расширяет javax.xml.ws.handler.Handler.

Итак, если вам нечего делать ничего SOAP, вам не нужно использовать SOAPHandler. Одним из вариантов использования может быть обработчик, который обрабатывает только HTTP-заголовки, вложения или проверяет HttpServletRequest. Да, вы можете сделать гораздо больше с SOAPHandler, но иногда вам не нужен доступ к заголовкам SOAP, SOAPMessage или доступ к DOM для полезной нагрузки.

 Смежные вопросы

  • Нет связанных вопросов^_^