如何访问我的服务请求的原始xml文本?

时间:2013-01-29 02:11:21

标签: .net wcf

我有一堆很棒的工作代码可以访问各种REST(有时是SOAP)api。它是基于.NET 4.0的所有WCF。

但有时我访问的系统会返回错误的xml(啊啊,用字符串构建xml的开发人员......坏人!)。

所以XML不好,,, WCF抛出(应该)... system.invalidoperationexception ... xml文档中的错误... [字符串FOO不是有效的布尔值] [或其他一些解析错误] ......

我需要记录HTTP POST / GET响应的完整原始xml(无法反序列化的响应)。出于某种原因,我似乎无法弄清楚在WCF的哪个地方找到这个。

2 个答案:

答案 0 :(得分:1)

如果您需要访问请求的原始数据,您要去的地方是自定义消息编码器。您可以做的是创建自己的编码器(可能包装现有编码器),此时您将获得来自传输层的原始字节。您可以在http://blogs.msdn.com/b/carlosfigueira/archive/2011/11/09/wcf-extensibility-message-encoders.aspx找到有关自定义编码器的更多信息。

答案 1 :(得分:0)

启用跟踪并查看您遇到问题的位置。有一个很好的应用程序AppFabric,您可以轻松地更改您的节奏设置,并查看具有例外的消息。见http://msdn.microsoft.com/en-us/library/ms751526.aspx

相关问题