在解析之前,如何在JAX-WS客户端中修改传入的Web服务响应?

时间:2010-11-25 11:09:10

标签: java-ee jax-ws

在项目中,我们必须调用已存在多年且无法修改的Web服务。此Web服务包含一个错误:当它向SOAP请求发送响应时,响应并不总是包含所需的< S:Envelope>和< S:Body>元件。

在JAX-WS SOAP解析器解析消息之前,我们如何拦截消息并插入缺失的部分?

1 个答案:

答案 0 :(得分:0)

我看到这个问题仍未解决,所以我将提供一些有关如何解决问题的见解。

实际上,JAX-WS不提供任何支持来完成这类工作。可能可以查看实现的细节并在那里添加一个钩子,但随后您的解决方案不再可移植到其他Web服务容器实现。

我们的最终解决方案是切换到Commons HTTP Client以发送消息并接收响应。消息本身是使用普通的JAXB创建和解析的。手动添加和删除SOAP标头。