我正在访问SOAP 1.1 Web服务,它正在返回错误.据我所知,Web服务没有在WSDL中定义任何错误契约.我的WCF客户端将故障映射到FaultException(而不是FaultException <T>).这一切都有道理.问题是服务在故障的detail元素中返回一些有用的诊断信息,我想访问它以便我可以将它转储到跟踪日志中.似乎FaultException没有提供对detail元素的任何访问,大概是因为没有错误契约它不知道那里有什么.
但我不需要反序列化细节XML - 只需将原始XML作为字符串就可以用于诊断目的.
在这种情况下,有没有办法从WCF客户端访问详细信息XML?
Gau*_*ssZ 11
详情如下:http: //www.theruntime.com/blogs/jacob/archive/2008/01/28/getting-at-the-details.aspx
您可以使用此变通方法来获取详细信息:
} catch (FaultException soapEx)
{
MessageFault mf = soapEx.CreateMessageFault();
if (mf.HasDetail)
{
XmlDictionaryReader reader = mf.GetReaderAtDetailContents();
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |