如何在WebSphere中拦截SOAPMessage

时间:2011-11-18 12:44:39

标签: java web-services soap

你可以帮我解决这个问题吗?

我有一个难以解决的问题。在最终用户收到来自Web服务的响应之前,我应该签署消息,即我提取当前的SOAP消息并调用签名Web服务。在我完成之后,我只是将它发送到JAX-WS处理程序链。到目前为止,我们已经使用了JAX-WS处理程序。问题是WebSphere有时会拒绝接受并调用处理程序。我的意思是,真的。我已经在各个方面工作,但这不起作用。我想出了在模块中签名的想法。我知道这不是一个好主意,但在签署程序一劳永逸之后我会想到更好的事情。主要问题是我不知道如何在模块中注入SOAPMessageContext,因为WebSphere会自动为JAX-WS处理程序执行此操作。我既没有找到api引用来检索当前使用ibm api的SOAPMessageContext,也没有能够以任何其他方式设置消息。对我来说,在tonnel的末尾是否有一盏灯?

1 个答案:

答案 0 :(得分:1)

在JAX-WS服务中,可以获取请求的消息上下文,但是无法在服务本身内操纵SOAP响应。这只能在处理程序中实现。

我记得在一些最近的WAS版本中,存在一个问题,即JAX-WS处理程序对SOAP消息的修改会丢失。您确定WebSphere确实没有调用您的处理程序,或者可能是调用了处理程序但是对SOAP消息的修改是否丢失了?