客户端上的.NET日志肥皂请求

Wes*_*s P 7 .net logging web-services .net-2.0

我在客户端应用程序中使用第三方.NET WebService.出于调试目的,我想捕获从我的服务器发送的SOAP请求.我该怎么做呢?这是在.NET 2.0上完成的,不使用WCF或WSE.

Ste*_*las 12

我刚刚写了一篇关于这篇文章的帖子,名为" 在.NET中记录SOAP消息 ".

最简单的方法是使用.NET提供的工具.

1.扩展课程SoapExtension.

2. override the method ProcessMessage to get a full output of your Soap Request, then output this information to a text file or event log.

public class SoapMessageLogger : SoapExtension
{
  //…
  public override void ProcessMessage(SoapMessage message)
  {
    switch(message.Stage)
    {
      case SoapMessageStage.BeforeDeserialize:
      LogResponse(message); break;
      case SoapMessageStage.AfterSerialize:
      LogResponse(message); break;
      // Do nothing on other states
      case SoapMessageStage.AfterDeserialize;
      case SoapMessageStage.BeforeSerialize;
      default: break;
    }
  }
  //…
}
Run Code Online (Sandbox Code Playgroud)


Wal*_*ich 5

如果是出于调试目的,我只是将Web请求配置为使用代理并通过fiddler(http://www.fiddlertool.com)发送整个请求,然后您就可以确切地看到通过网络传输的内容.