如何查看通过网络发送的C#ASP.NET应用程序发送的SOAP请求数据?

问题描述:

我有一个C#ASP.NET应用程序发送一个发布请求到基于WSDL的SOAP客户端,我希望看到该请求的正文。该请求是从后端发送的,而不是浏览器。剧情扭曲:我缺乏安装任何网络流量嗅探软件的权限。查看请求中发送的XML的好方法是什么?我正在使用visual studio 2010.如何查看通过网络发送的C#ASP.NET应用程序发送的SOAP请求数据?

+0

这取决于什么触发您的C#ASP.NET应用程序发送请求。您可以看到请求的最远一步是什么?如果你有源代码,你可以调试它。如果您有另一个应用程序执行一些操作并触发前面提到的应用程序发送POST请求,则可以运行单独的VS2010实例,并在需要的地方点击断点(同样,假设您拥有上述应用程序的所有源)。 – Ghukas

您可以安装任何软件吗?如果是,请尝试使用fiddler,这是一个不需要管理员权限即可安装的http调试代理。

没有安装任何软件this问题,特别是this答案看起来像它会做的伎俩。它包含在web.config中启用System.Net跟踪机制的配置。

对于从服务引用自动生成的客户端this的答案之一问题应该工作。它与上面的答案非常相似,但是专门针对从服务参考生成的客户端。

+0

好主意,但不,我不能安装任何软件。 –

+0

你用什么发送帖子?一个System.Net.WebRequest? –

+0

我使用WSDL URL作为服务引用与端点进行通信。基本上它是一系列自动生成的代码来调解请求/响应循环。 –

你可以修改应用程序吗?如果是这样,一对夫妇的想法:

  1. 安装GlimpseSOAP plugin

  1. 添加一些记录能力可以通过appSetting开启/关闭。用它来触发将其转储到日志文件/数据库 表中。如果您已经使用Elmah,那么您可以在那里捎带它 和dump it
    1. 你提到你不能一个不同的PC上安装小提琴手,但怎么样? Fiddler支持r emote connections,所以如果你在另一台PC上运行它,你可以在那里运行它,只需在你的应用程序中更改web.config以将其用作proxy
    开始=>
开始=>