使用 JAX-WS 接收隐式 SOAP 头

可以使现有的 Java™ API for XML-Based Web Services (JAX-WS) Web Service 客户机从隐式 SOAP 头接收值。通过修改客户机代码来接收隐式 SOAP 头,可以在入局 web service 响应中接收特定信息。

开始之前

要完成本任务,需要可以用来接收隐式 SOAP 头的 Web service 客户机。

隐式 SOAP 头是符合下列其中一种描述的 SOAP 头:
  • 在 Web 服务描述语言 (WSDL) 文件的绑定中声明为 SOAP 头的消息部件,但消息定义未由 WSDL 文件中的 portType 元素引用。
  • 未包含在 WSDL 文件中的元素。

处理程序和服务端点可以通过使用带附件的 SOAP API for Java (SAAJ) 数据模型来处理隐式或显式 SOAP 头。

使用 JAX-WS 时,对于可以操作的头类型没有限制。

关于此任务

客户机应用程序对 Dispatch 或 Proxy 对象设置属性以发送和接收隐式 SOAP 头。

过程

  1. 使用 Dispatch 或 Proxy 对象发出远程方法调用。
  2. 使用属性名称 com.ibm.wsspi.websvcs.Constants.JAXWS_INBOUND_SOAP_HEADERS 从 Dispatch 或 Proxy 对象的 ResponseContext 检索 Map<QName, List<String>>
  3. 根据 Map<QName, List<String>> 值,使用 SOAP 头的 QName 检索 List<String> 如果 List<String> 值存在,那么该值包含零个或更多字符串对象,这些对象又包含相应 QName SOAP 头的 XML 文本。

结果

具有可从隐式 SOAP 头接收值的 JAX-WS Web Service 客户机。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_retrievesoapheadjaxws
文件名:twbs_retrievesoapheadjaxws.html