我在 Websphere V8 上使用 JAX-WS Web 服务。当 WS 返回 SOAP 错误时,我想对详细元素进行一些更新。所以我创建了 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;
}
我可以更新故障消息,但客户端获取原始故障(更改之前)。但是当我打印更新的故障(在肥皂处理程序中)时,我可以看到更改(例如调用 msg.writeTo(System.out))。
任何线索为什么不将更新的故障返回给 ws 客户端?
谢谢