2012-11-01 49 views
2

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

回答

2

在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(); 
相关问题