我有一个连接到第三方Web服务的WCF客户端代理.除了功能之外,代理几乎可以正常工作.
此功能适用于ASMX代理.
我添加了服务跟踪日志记录,可以看到服务返回的响应.只有代理返回null.
所以现在我确定代理是错的.
从哪里来?
决议 我发现了这个问题.WCF不如ASMX代理宽容.服务WSDL指定返回的对象称为"data",并且传回的实际xml称为"result"
这是一场伟大的追逐!我想我在这个问题上浪费了4个小时!
您可以尝试使用Trace Viewer更详细地分析WCF通信,并在遇到错误时查找更多详细信息.
在app.config(客户端)和web.config(服务器)中,您可以添加块.要启用跟踪,只需添加dignostics块,并在运行应用程序时在指定位置生成跟踪文件.这应该使您能够更深入地解决问题.
可以找到跟踪查看器:
("C:\ Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcTraceViewer.exe")
有关跟踪查看器用法的信息
http://msdn.microsoft.com/en-us/library/aa751795.aspx
还有什么类型的方法呢?它会返回复杂类型还是简单类型?
补充:啊,抱歉读错了,没意识到你无法控制服务器端.我尝试更新服务引用/代理(您可能已经这样做了)并检查是否有任何更改.
我担心WCF不会轻易追踪问题.是否有可能为有效的调用提供方法签名,而不是那样我们可以看到传递的数据类型?