代码之家  ›  专栏  ›  技术社区  ›  Wes P

客户端上的.NET日志Soap请求

  •  7
  • Wes P  · 技术社区  · 16 年前

    6 回复  |  直到 16 年前
        1
  •  12
  •   Vladimir Almaev Steven de Salas    5 年前

    不久前,我写了一篇关于这一点的帖子,标题是“ Logging SOAP Messages in .NET ".

    使用.NET提供的工具

    1. 扩展课程 SoapExtension .

    ProcessMessage 要获得Soap请求的完整输出,请将此信息输出到文本文件或事件日志。

    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;
        }
      }
      //…
    }
    
        2
  •  5
  •   Walden Leverich    16 年前

    如果出于调试目的,我只需将web请求配置为使用代理并通过fiddler发送整个请求( http://www.fiddlertool.com

        3
  •  1
  •   tomasr    16 年前

    您可以使用许多选项。当然有一些商业工具(比如SOAPScope),但是如果您只是想捕获请求/响应的原始内容,那么除了Fiddler(Walden已经提到)之外,还有一些工具。

    TcpTrace YATT .

    如果您对实际检测代码感兴趣,以便它能够自己完成(例如,通过将所有内容记录到文件或其他内容),那么您可能希望研究实现 SoapExtension 在您的服务器上。

        4
  •  0
  •   FlySwat    16 年前

    您可以使用SoapExtension来记录Soap调用。

    http://msdn.microsoft.com/en-us/magazine/cc164007.aspx

        5
  •  0
  •   edosoft    16 年前
        6
  •  0
  •   user993954    13 年前

    大概 钢丝鲨