如何从SOAP处理程序向Web服务发送对象?我知道我可以修改SOAP消息,但我正在尝试发回整个SOAP消息。在Web服务中,我无权访问SOAP信封。此外,这是实现wsdl,我无法更改特定类型的XML参数类型。所以我想在SOAP Handler和Web服务之间使用某种并行消息传递机制。
答案 0 :(得分:2)
在SOAP Handler中,
public boolean handleMessage(SOAPMessageContext mc) {
...
ByteArrayOutputStream out = new ByteArrayOutputStream();
SOAPMessage soapMsg = mc.getMessage();
mc.put("soapMsg", out);
mc.setScope("soapMsg", MessageContext.Scope.APPLICATION);
...
}
在Web服务中:
MessageContext messageCtx = context.getMessageContext();
String doc = (messageCtx.get("soapMsg")).toString();