【问题标题】:resource annotation in soapHandler implemantationsoapHandler 实现中的资源注解
【发布时间】:2015-11-03 12:59:10
【问题描述】:

我读过一些关于soap处理程序的教程,其中一些只使用处理程序链,但其中一些同时使用@resource注释和处理程序链xml。我很困惑是否需要使用@resource。如果是,为什么我需要使用它?

【问题讨论】:

    标签: web-services annotations jax-ws soapheader soaphandler


    【解决方案1】:

    @Resource 注释标记应用程序需要的资源。该注解可以应用于应用程序组件类,或组件类的字段或方法。当注解应用于字段或方法时,容器将在组件初始化时将所请求资源的实例注入到应用程序组件中。如果注解应用于组件类,则注解声明应用程序将在运行时查找的资源。

    使用@Resource注解注入的WebServiceContext对象,包裹了包含SOAPMessageMessageContext,还包含了承载SOAPMessage的HTTP连接的各种信息。然后,只要服务请求到达,Web 容器就会初始化 WebServiceContext 引用。这允许 Web 方法访问承载请求的 HTTP 请求中的 HTTP 标头,以及 SOAPMessageContext、SOAP 标头和 SOAPMessage

    为什么在一种情况下使用@Resource 注释而在另一种情况下不使用?因为在一种情况下,可以从这些类(SOAPMessageContextSOAPMessage 等)的对象中检索所有必要的信息,并且这些对象可通过实现 LogicalHandler 接口或SOAPMessageContext 接口获得。在其他情况下,可以直接从注入的WebServiceContext 检索所有必要的信息。

    另见:

    【讨论】:

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