在使用.net 3.5的visual studio 2008中,我已经使用了自动生成Reference.cs的WSDL.
这是通过右键单击项目中的引用并选择“添加Web引用”来完成的
使用这个我可以发布到Web服务并通过我的ref和out对象获得有效的响应. postValues()是一种void方法.
webService.postValues(ref value1, ref value2, out value3);
使用WireShark我可以在我的网络上看到请求和完整的soap响应.
我想弄清楚的是如何在我的代码中捕获这个原始的SOAP响应.
我想捕获这个用于记录目的,而不是单独序列化每个ref对象.
无论如何我都无法在不修改自动生成的Reference.cs的情况下执行此操作,而id则不是这样做的.
任何帮助,将不胜感激.
编辑:似乎没有办法做到这一点,我可以看到.其他人可以确认或否认吗?
编辑.生病了再多一次看看是否有人知道.
最佳答案 您有以下选择:
> Enable tracing用于配置中的Web服务,并将所有信息转储到文件中.如果您使用的是WCF而不是旧版Web服务,请在how to enable tracing for WCF上查看此问题.
> Implement your own SoapExtension并插入消息处理管道以拦截和转储传入/传出的soap消息.我认为链接artice中的示例包含TraceExtension,它正是这样做的.
>按照指定修改生成的Reference.cs并转储传递的对象.