很抱歉,如果之前有人问过这个问题,但我似乎找不到答案。
我正在尝试使用 WCF 使用 SOAP Web 服务。我使用 Visual Studio 2015 的添加服务引用来添加服务引用并生成所有代码。
服务调用失败并出现以下 CommunicationException 错误:
System.ServiceModel.CommunicationException : Error in deserializing body of reply message for operation 'XYZ'.
---- System.InvalidOperationException : There is an error in XML document (2, 979).
-------- System.FormatException : Input string was not in a correct format.
我理解错误;我知道 XML 响应文档中的某些内容(可能是元素值)无法根据 svcutil 生成的代码指示进行反序列化。
我正在记录 XML 响应文档。此外,我将它与 SoapUI 响应进行比较,它们看起来完全相同。
那么我怎样才能准确地找出 XML 文档中的问题所在呢?是否有任何方法、技术或技巧可以逐步完成反序列化过程并查明故障位?这是一个相当长的 XML 文档 ...
恕我直言,此时 WCF 就像一个黑盒子,我无法查看它的内部。
TIA,
最佳答案
打开 WCF 跟踪:
https://learn.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/configuring-tracing
使用以下应用程序查看结果:
https://learn.microsoft.com/en-us/dotnet/framework/wcf/service-trace-viewer-tool-svctraceviewer-exe
关于c# - 如何找出 WCF SOAP XML 响应的反序列化中错误的确切位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42880963/