我是 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/