2011-02-08 84 views
2

從基於Java的Web服務返回的這個(*)ObjectLockedException。我想在.NET上捕獲這個特定的錯誤。用幾個catch塊處理SOAP異常情況

我使用C#。任何人都可以提供下面的代碼的方法?我的意思是我怎樣才能使它工作?

try{ 
service.something(); 

}catch(ObjectLockedException exx) 
{ 
    alert("Hey!, remove the lock"); 
} 
catch 
{ 
//this block is for the rest of the exceptions 
} 

(*)我想捕捉的異常的詳細解釋; java.rmi.RemoteException:準備實例QS.TYR.611時出錯; 嵌套的例外是:xy.zrt.ugy.business.ObjectLockedException:爲QS.TYR.611

+3

肥皂故障不能保證直接映射到特定的平臺 - 我懷疑你會不得不接受字符串匹配,除非有一個代碼或類似的尋找。 – 2011-02-08 13:32:56

回答

0

無法獲得鎖如果您服務「東西」操作有故障的合同,然後還會有一個詳細的類型包含故障的錯誤信息。在您的服務界面中尋找FaultContractAttribute。鑑於這種類型,T,你可以趕上FaultException<T>

如果沒有故障的合同,你就必須抓住FaultException並挑選它拆開。

這是不可能的,你可以直接捕捉嵌套異常......但它最終取決於故障合同。