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