Java SOAPHandler与LogicalHandler

Java SOAPHandler与LogicalHandler,java,web-services,jax-ws,java-metro-framework,Java,Web Services,Jax Ws,Java Metro Framework,有人能解释一下,如果我们可以在JaxWs中使用SOAPHandler做更多的事情,为什么我们需要LogicalHandler?来自JAX-WS 2.2: JAX-WS 2.0定义了两种类型的处理程序: 逻辑处理程序 对消息上下文属性和消息有效负载进行操作。合乎逻辑 处理程序与协议无关,无法影响协议 消息的特定部分。逻辑处理程序是 实现javax.xml.ws.handler.LogicalHandler。协议处理程序 对消息上下文属性和特定于协议的消息进行操作 协议处理程序特定于特定协议,可以访

有人能解释一下,如果我们可以在
JaxWs
中使用
SOAPHandler
做更多的事情,为什么我们需要
LogicalHandler

来自JAX-WS 2.2:

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访问