将对象从SOAP处理程序发送到Web服务

时间:2012-11-01 21:03:09

标签: java xml web-services soap

如何从SOAP处理程序向Web服务发送对象?我知道我可以修改SOAP消息,但我正在尝试发回整个SOAP消息。在Web服务中,我无权访问SOAP信封。此外,这是实现wsdl,我无法更改特定类型的XML参数类型。所以我想在SOAP Handler和Web服务之间使用某种并行消息传递机制。

1 个答案:

答案 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();