我是Webservices的新手,我有一个问题。 我有一个Web服务和这样的方法,
CompanyOpereations srv = new CompanyOperations();
srv.getCustomerInfo(input);
我想获取并响应。写入soap请求和getCustomerInfo方法的响应。
有人能帮帮我吗? 我已经看到了这个,但是记录了我需要在屏幕上打印的文件, Getting RAW Soap Data from a Web Reference Client running in ASP.net我甚至看过这个,但不知道如何调用这个,我的客户端的WriteOutput方法可以帮助我吗? http://msdn.microsoft.com/en-us/library/ms972353.aspx
提前致谢。
如果我的问题不明确,请告诉我!!
这不是用于调试..它用于打印它作为方法的输出,以便其他人可以在其他地方使用XML。
谢谢!
答案 0 :(得分:2)
我可能会使用SOAP拦截扩展,他们只是将所有内容写入日志:
ASP.NET允许通过可扩展性机制构建与SOAP相关的基础结构。 ASP.NET SOAP扩展体系结构围绕扩展,可以在客户端或服务器上的消息处理的特定阶段检查或修改消息 强>
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 ,因此您可以查看它并查看正在创建的日志文件
答案 1 :(得分:0)
虽然这个实用程序是从石器时代开始的,但是当我使用它时它完成了很好的工作:SOAP Toolkit 3.0。我猜他们从那时起就添加了更复杂的方法,但你应该先尝试一下。
答案 2 :(得分:0)
我可以解决此问题的最佳方法是在返回对象时序列化我的对象:)