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

本文关键字:请求 求和 响应 SOAP Web 服务 打印 | 更新日期: 2023-09-27 18:32:18

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

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

我想获取并响应.编写 getCustomerInfo 方法的 soap 请求和响应。

有人可以帮助我吗?我已经看到了这一点,但我需要在屏幕上打印它,而不是登录文件,从 ASP.net 中运行的 Web 引用客户端获取 RAW SOAP 数据

我什至见过这个,但不确定如何称呼它,我的客户端的 WriteOutput 方法可以帮我吗?http://msdn.microsoft.com/en-us/library/ms972353.aspx

提前谢谢。

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

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

谢谢!

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

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

ASP.NET 允许通过扩展性机制构建与 SOAP 相关的基础结构。ASP.NET SOAP 扩展体系结构围绕一个扩展展开,该扩展可以在客户端或服务器上消息处理的特定阶段检查或修改消息

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


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

将此添加到您的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

日志文件,如下所示。

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

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

我还设置了一个小型天气服务项目,以便您可以查看它并查看正在创建的日志文件

虽然这个实用程序来自石器时代,但在我使用它时它做得很好:SOAP 工具包 3.0。我猜他们从那时起添加了更复杂的方法,但你应该先尝试一下。

解决此问题的最佳方法是序列化我的对象,因为我返回了一个对象:)