我正在使用SOAPHandler.handleMessage(...)来拦截从客户端到服务器的过时SOAP消息。

我需要确认拦截是在发送邮件后进行的。不确定是否确实如此。有任何想法吗?

最佳答案

有一个简单的技巧可以检查您的假设。在handleMessage方法中添加以下代码:

    SOAPMessage msg = ((SOAPMessageContext) context).getMessage();
    SOAPPart sp = msg.getSOAPPart();
    SOAPEnvelope env = sp.getEnvelope();


现在,当您有一个SOAPEnvelope时,尝试替换SOAP消息,看看接收者收到它时会发生什么。我会破坏惊喜并告诉您:它将被更改:-)
因此,您的SOAPHandler会在实际发送消息之前对其进行拦截。

09-10 09:06
查看更多