我只是在開發我的第一個WCF WebMethod,並且正在查看錯誤處理。WCF FaultExceptions,SOAP故障和非.NET應用程序
在花了一週的時間閱讀了這篇文章之後,普遍認爲WCF WebMethods中的錯誤應該是WebFaultException
或FaultException
。此外,許多教程指出使用FaultException(Of T)
可以提供更好的功能。這似乎很簡單...
然後我發現source指出,當WebMethod被非.NET應用程序使用時,拋出CLR異常並不好, Java等,並且應該使用SOAP Fault。
有人可以澄清是否內置WCF 4.5的邏輯自動將FaultException
和FaultException(Of T)
轉換爲可由外部系統處理/理解的SOAP錯誤?
一般來說,其他人如何將錯誤傳達給外部系統?
非常棒,謝謝。 我包括對SOAP Fault文檔的參考以供參考:http://www.w3.org/TR/soap12-part0/#L11549 我將使用DataContract屬性定義一個類,然後拋出一個FaultException(Of MyClass)。 這與我在MyClass中放置什麼字段有關係嗎? ErrorCode,ErrorDetail等?還應該有一個特定的名稱,例如與SOAP Fault文檔相匹配的名稱 - >消息和錯誤代碼 – EvilDr
好...您可以將字段命名爲任何您喜歡的字段,並讓它們包含儘可能多或少量的數據,以滿足您的需求。您只需要小心,不要暴露敏感數據,例如服務器名稱,數據庫名稱等。嘗試使命名約定符合行業命名標準始終是一個好主意。祝你好運。 –
非常感謝。在近期內請繼續關注我的更多問題...... :-) – EvilDr