我在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客户端的任何线索?
谢谢
答案 0 :(得分:0)
可能与WebSphere中的以下错误有关:http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PM39817