【问题标题】:SOAPHandler vs LogicalHandlerSOAPHandler 与 LogicalHandler
【发布时间】:2016-10-26 21:06:28
【问题描述】:

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

【问题讨论】:

    标签: java web-services jax-ws java-metro-framework


    【解决方案1】:

    来自 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 访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-07
      • 2012-12-15
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多