.NET日志或查看SOAP Web服务的调用/响应
在.NET中检查来自web服务的呼叫和响应的最佳方法是什么?.NET日志或查看SOAP Web服务的调用/响应,.net,web-services,logging,soap,debugging,.net,Web Services,Logging,Soap,Debugging,在.NET中检查来自web服务的呼叫和响应的最佳方法是什么? 我正在与一个用Perl编写的Web服务交互,遇到了一些问题。 如何捕获呼叫和响应的文本 更新: 根据澄清意见: 我想通过.NET来做,这样当出现问题时,我可以登录或通过电子邮件发送。是你在网络服务这个摇摇欲坠的世界中最好的朋友 不,正如前面指出的,它在代码内部没有做任何事情。您也不希望这样做——调试不应该改变进程的语义,或者您正在调试调试代码 此外,我还喜欢wireshark,但fiddler更适合HTTP,因为它的设计重点是HTT
我正在与一个用Perl编写的Web服务交互,遇到了一些问题。
如何捕获呼叫和响应的文本 更新:
根据澄清意见: 我想通过.NET来做,这样当出现问题时,我可以登录或通过电子邮件发送。是你在网络服务这个摇摇欲坠的世界中最好的朋友
不,正如前面指出的,它在代码内部没有做任何事情。您也不希望这样做——调试不应该改变进程的语义,或者您正在调试调试代码
此外,我还喜欢wireshark,但fiddler更适合HTTP,因为它的设计重点是HTTP。如果我要从线路上抓取字节,那就是wireshark。我个人喜欢使用数据包嗅探器,比如。它是检查任何类型网络流量的绝佳工具。您可以通过创建
SoapExtension
并在web服务客户端中启用它来做到这一点:
上面的链接提供了一个示例代码的框架,用于记录文件的请求/响应
要在应用程序中启用,请将以下内容添加到web.config或app.config:
<webServices>
<soapExtensionTypes>
<add type="YourNamespace.TraceExtension, AssemblyName"
priority="0" group="High"/>
</soapExtensionTypes>
</webServices>
我自己的SOAP跟踪扩展在它自己的项目/程序集中实现。每当我需要调试请求/响应时,我只需将DLL放到应用程序文件夹(/bin for ASP.NET)中,并如上所述添加对配置文件的引用
例如:
<webServices>
<soapExtensionTypes>
<add
type="DebugTools.SOAP.SOAPTrace.SoapTraceExtension, DebugTools.SOAP"
priority="0" group="High"/>
</soapExtensionTypes>
</webServices>
DebugTools.SOAP.SOAPTrace
是SoapTraceExtension
DebugTools.SOAP
是包含SOAP跟踪代码的程序集的名称。在WCF web服务或客户端中,您可以简单地配置跟踪和/或消息日志记录。这可以在运行时完成,无需更改代码。Fiddler充当本地计算机上任何进程与您正在交谈的服务器之间的代理(显示两者之间的所有通信量)在代码中包含通信量的用例是什么?你是否正在构建一个WPF版本的fiddler?我知道fiddler是如何工作的。只是我在寻找一些我可以插入到实际代码中的东西。通知我奇怪的结果…也许会提醒我。我不知道怎么让提琴手那样做,明白了。这个问题一点也不清楚,也许你想编辑一下。非常整洁,从未见过那个。在您无法安装工具的环境中绝对方便。是的……您可以在不修改应用程序代码的情况下插入日志记录,这真是太好了。太好了!我要试试这个。谢谢+1.将带回反馈。谢谢。。。这是一个相当长的搜索的解决方案。我正在使用用Perl编写的web服务(不是出于选择)。客户端是用.NET3.5编写的。我仍然可以利用客户端上的跟踪/登录功能吗?不,你不能。请编辑您的答案,说明您的客户机是PERL。你说你想在.NET中做这件事,这让我觉得客户是.NET。