2012-05-09 19 views
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客戶端?

謝謝

回答

相關問題