3

我有一个连接到第三方 Web 服务的 WCF 客户端代理。除了功能之外,代理几乎可以正常工作。

此功能与 ASMX 代理一起工作得很好。

我添加了服务跟踪日志记录,可以看到服务返回的响应。只有代理返回 null。

所以现在我确定代理有问题。

从这里到哪里?

解决方案 我发现了问题。WCF 没有 ASMX 代理那么宽容。服务 WSDL 指定返回的对象称为“数据”,而实际传回的 xml 称为“结果”

所以那是一场伟大的追逐!我想我在这个问题上浪费了 4 个小时!

4

1 回答 1

7

您可以尝试使用 Trace Viewer 更详细地分析 WCF 通信,并在遇到错误时找出更多详细信息。

在 app.config(客户端)和 web.config(服务器)中,您可以添加块。要启用跟踪,只需添加诊断块,应用程序运行时将在指定位置生成跟踪文件。这应该使您能够更深入地挖掘问题。

可以找到跟踪查看器:

("C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\SvcTraceViewer.exe")

有关跟踪查看器使用情况的信息:

http://msdn.microsoft.com/en-us/library/aa751795.aspx

另外,它是什么类型的方法?它返回复杂类型还是简单类型?

补充:啊,很抱歉误读,没有意识到你无法控制服务器端。我会尝试更新服务参考/代理(您可能已经这样做了)并检查是否有任何更改。

恐怕 WCF 不会让追踪​​问题变得非常容易。是否可以为有效的调用和无效的调用提供方法签名,以便我们可以看到正在传递的数据类型?

于 2009-02-18T09:33:58.473 回答