我正在使用SOAPHandler.handleMessage(...)来拦截从客户端到服务器的过时SOAP消息。
我需要确认拦截是在发送邮件后进行的。不确定是否确实如此。有任何想法吗?
最佳答案
有一个简单的技巧可以检查您的假设。在handleMessage
方法中添加以下代码:
SOAPMessage msg = ((SOAPMessageContext) context).getMessage();
SOAPPart sp = msg.getSOAPPart();
SOAPEnvelope env = sp.getEnvelope();
现在,当您有一个
SOAPEnvelope
时,尝试替换SOAP消息,看看接收者收到它时会发生什么。我会破坏惊喜并告诉您:它将被更改:-)因此,您的SOAPHandler会在实际发送消息之前对其进行拦截。