WCF サービス呼び出しがエラーを返したときに、soopenv:Detail ノード内の情報をキャッチ/アクセスするにはどうすればよいですか??
FaultException だけをキャッチしても含まれませんが、サービス トレース ログにデータが表示されます。
解決策/回避策:
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)
どれがよかったんだろう…