当服务器返回HTTP 401时,如何在WCF中获取消息/响应主体?

时间:2010-01-12 18:21:29

标签: c# asp.net wcf

我有一个WCF客户端测试工具,我正在使用“客户端消息检查器”端点行为来“挑选”原始请求和响应消息进出服务并保存它们以便稍后在UI中显示。 / p>

除了传递无效凭据的用例(基本身份验证)之外,这种方法很有用。服务器返回HTTP 401以及正文中包含SOAP故障的详细信息。我无法控制服务,因此无法更改此行为。

因为HTTP 401作为WebException返回,所以我的消息检查器永远不会触发,我无法获得原始响应。此异常最终以MessageSecurityException

的形式进入UI

有没有办法抑制这个,所以消息检查器的AfterReceiveReply仍然会触发?或者在其他地方我可以访问整个原始响应吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

catch (WebException e)
{
    resp = (HttpWebResponse)e.Response;
}