2

SOAP ハンドラーから Web サービスにオブジェクトを送信するにはどうすればよいですか? SOAP メッセージを変更できることはわかっていますが、SOAP メッセージ全体を返送しようとしています。Web サービスでは、SOAP エンベロープにアクセスできません。また、これは wsdl を実装しているため、特定の種類の XML であるパラメーターの型を変更できません。そこで、SOAP ハンドラーと Web サービスの間である種の並列メッセージング メカニズムを使用することを考えています。

4

1 に答える 1

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サービスの場合:

MessageContext messageCtx = context.getMessageContext();
String doc = (messageCtx.get("soapMsg")).toString();
于 2012-12-14T21:59:49.307 に答える