JAX-WS LogicalHandler& SOAPHandler

时间:2012-08-21 14:35:54

标签: asynchronous jax-ws

我正在编写一个Java SOAP客户端,其中多个响应以异步方式返回到Client WebService。 由于响应是异步的,因此客户端必须将 MessageId 传入SOAPHeader。然后,多个响应将传回相同的 MessageId ,使客户端能够使用多个响应映射其请求。

我有两个处理程序(Protocal和Logical)。我的SOAPHandler正在接收 MessageId ,而LogicalHander正在接收 Payload 或真实响应。我想以某种方式将这两条信息挂钩在一起。

我的问题是我有两个不同的代码,一个拉 MessageId ,另一个 Payload ,但我没办法可靠地附加两个。

我不确定我是不是在寻找一些东西。我可以从Protocal或Logical处理程序中提取Header和Payload吗?

1 个答案:

答案 0 :(得分:11)

您可以在SOAP Handler中完成所有操作。

  

" JAX-WS支持两种类型的SOAP消息处理程序:SOAP处理程序和   逻辑处理程序。 SOAP处理程序可以访问整个SOAP消息,   包括邮件标题和正文。逻辑处理程序可以访问   仅消息的有效负载,并且不能更改任何消息   消息中特定于协议的信息(如标题)。"

请参阅this获取一些解释,并获得精彩的图片:) 您也可以阅读Oracle文档Overview of SOAP Message Handlers