1
當WCF服務調用返回錯誤時,如何捕獲/訪問soapenv中的信息:Detail節點?在WCF服務中訪問ServiceModel.FaultException細節
單獨捕獲FaultException不包含它bu我可以看到服務跟蹤日誌中的數據。
解決方案/解決方法:
Catch ex As FaultException
Dim detailsMsg As String = String.Empty
Dim mf As MessageFault = ex.CreateMessageFault
If mf.HasDetail Then
Dim ns As XNamespace = "http://url"
Dim detailedMessage As XElement = mf.GetDetail(Of XElement)()
Dim messageElement As XElement = detailedMessage.Descendants(ns + "Message").SingleOrDefault
If messageElement IsNot Nothing Then
detailsMsg = messageElement.Value
End If
End If
End Try
仍然不能趕上同:
Catch ex As FaultException(Of XElement)
這本來是很高興......
這是我第一次嘗試,但它不會去追,我可以看到對象的XML表示回覆但不能使用wsdl生成的對象來捕獲細節。命名空間對此有什麼影響?它與文檔的其餘部分不同。 – baileyswalk 2012-04-04 15:41:25
是否將FaultContract屬性放在Web服務方法中? (檢查我的編輯) – aKzenT 2012-04-04 21:28:46
服務是外部的我只參考它,我可以檢查這個客戶端? – baileyswalk 2012-04-13 11:16:15