c# - 打印 C# Web 服务的 SOAP 请求和响应

标签 c# web-services soap logging

我是 Webservices 新手,我有一个问题。 我有一个网络服务和这样的方法,

     CompanyOpereations srv = new CompanyOperations();
           srv.getCustomerInfo(input);

我想要获取和response.write getCustomerInfo方法的soap请求和响应。

有人可以帮助我吗? 我已经看到了这个,但已登录到我需要将其打印在屏幕上的文件, Getting RAW Soap Data from a Web Reference Client running in ASP.net

我什至见过这个,但不知道如何调用它,我的客户端的 WriteOutput 方法可以有人帮助我吗? http://msdn.microsoft.com/en-us/library/ms972353.aspx

提前致谢。

如果我的问题不清楚,请告诉我!!

这不是为了调试......而是为了将其打印为方法的输出,以便其他人可以在其他地方使用 XML。

谢谢!

最佳答案

我可能会使用 SOAP 拦截扩展,它们只是将所有内容写入日志:

ASP.NET allows a SOAP-related infrastructure to be built by means of an extensibility mechanism. The ASP.NET SOAP extension architecture revolves around an extension that can inspect or modify a message at specific stages in message processing on either the client or the server.

MSDN docs有一个很好的完整示例...


添加: 我无法实现上面的答案,所以我变得流氓。

将其添加到您的 web.config 文件中:

<configuration>

  <system.diagnostics>
    <trace autoflush="true" useGlobalLock="false"/>
    <sources>
      <source name="System.Net">
        <listeners>
          <add name="traceFile"/>
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="traceFile"
           type="System.Diagnostics.TextWriterTraceListener"
           initializeData="App_Data/trace.log"
           traceOutputOptions="None">
      </add>
    </sharedListeners>
    <switches>
      <add name="System.Net" value="Verbose"/>
    </switches>
  </system.diagnostics>

</configuration>

这将在 App_Data/trace.log 中输出一个日志文件,该文件将是 like this one .

只需解析该文件或按原样使用它...

我没有找到任何其他方法,因为 ServiceClient 上没有方法来显示此类信息。

我还有set up a small Weather Service Project 这样您就可以查看它并查看正在创建的日志文件

关于c# - 打印 C# Web 服务的 SOAP 请求和响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10339254/

相关文章:

c# - 根据类属性引发警告

c# - asp.net ajaxtoolkit 自动完成功能不起作用

java - 在 Netbeans 中添加新的 Web 服务

java - 使用 groovy 的 SOAP 请求

Java SOAP - 产品广告 API - 响应为空

c# - 让 C# 为已解析的 ISO 8601 字符串正确设置 Kind 属性

c# - ontextchanged 异步 sql 存储过程调用

c# - 具有属性但未分配少数属性的类

java - 没有找到依赖 : expected at least 1 bean which qualifies as autowire candidate for this dependency. 依赖注释:

php - 为什么 SoapClient 在文档/文字样式中使用 WSDL 返回带有额外键元素的数组?