无法更改SOAPFault处理程序中的Fault详细信息元素(在handleFault方法中)

时间:2012-05-09 13:59:33

标签: web-services websphere axis soapfault soaphandler

我在Websphere V8上使用JAX-WS Web服务。当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;
}

我可以更新故障消息,但客户端获取原始故障(更改前)。但是当我打印更新的Fault(在soap处理程序中)时,我可以看到更改(例如,调用msg.writeTo(System.out))。

为什么更新后的故障没有返回给ws客户端的任何线索?

谢谢

1 个答案:

答案 0 :(得分:0)

可能与WebSphere中的以下错误有关:http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PM39817