0

WebsphereV8でJAX-WSWebサービスを使用しています。WSがSOAP障害を返すとき、detail要素でいくつかの更新を実行したいと思います。そこで、SOAPハンドラーを作成しました。

 public boolean handleFault(SOAPMessageContext messageContext) {
    try {
        SOAPMessage msg = messageContext.getMessage(); 
        SOAPBody body = msg.getSOAPBody();
        Detail d = body.getFault().getDetail();
        Node esbException = d.getFirstChild();

        // do some changes in detail element...

        // save changes
        msg.saveChanges();

        return true;
    } catch ....
    return true;
}

障害メッセージを更新できますが、クライアントは元の障害を取得します(変更前)。しかし、更新された障害を(soapハンドラーで)印刷すると、変更を確認できます(たとえば、msg.writeTo(System.out)を呼び出します)。

更新された障害がwsクライアントに返されない理由はありますか?

ありがとうございました

4

1 に答える 1

0

WebSphere の次のバグに関連している可能性があります: http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PM39817

于 2012-05-10T20:21:35.217 に答える