代码之家  ›  专栏  ›  技术社区  ›  Uwe Keim

跟踪由.NET web服务客户端发送的SOAP信封是否可能?

  •  7
  • Uwe Keim  · 技术社区  · 15 年前

    现在,我想跟踪由VS.NET生成的SOAP代理在我们的应用程序中生成并传输到外部SOAP web服务的确切SOAP请求信封。

    使用诸如Wireshark之类的网络监视器的方法(如上所述 here )或者使用MicrosoftNetworkMonitor是没有选择的,因为ExterNLSOAPWeb服务只提供SSL/HTTPS URL,所以HTTP包的有效负载是加密的,不可查看。

    我的问题是:

    3 回复  |  直到 7 年前
        1
  •  6
  •   Uwe Keim    5 年前

    如果您使用的是标准web服务(不是WFC),则可以按如下所述扩展SoapExtension类:

    http://www.blog.encoresystems.net/articles/how-to-capture-soap-envelopes-when-consuming-a-web-service.aspx

    如果您使用的是WFC,则可以实现IEndpointBehavior和IClientMessageBehavior,如下所述:

    http://weblogs.asp.net/paolopia/archive/2007/08/23/writing-a-wcf-message-inspector.aspx

    这两种方法我都使用,这取决于我使用的是web引用还是服务引用。

        2
  •  3
  •   meklarian    15 年前

    您可以使用fiddler作为代理,从而监视HTTP/HTTPS请求。这不需要您编写任何代码。

    Fiddler Web Debugger

    值得注意的是,使用Fiddler调试HTTPS请求时有一些注意事项。本页说明了如何进行此操作。

    Fiddler Web Debugger - Debugging HTTPS traffic with Fiddler2