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