0
我在Websphere V8上使用JAX-WS Web服務。當WS返回SOAP錯誤時,我想在detail元素中做一些更新。所以我創建了SOAP處理程序:無法更改SOAPFault處理程序中的故障詳細信息元素(在handleFault方法中)
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客戶端?
謝謝