【问题标题】:VS2008 - error in deserialization from web serviceVS2008 - 从 Web 服务反序列化错误
【发布时间】:2009-06-15 12:23:32
【问题描述】:

我在调用外部 Web 服务 (https) 中的操作时出现反序列化错误。错误是“反序列化操作'score'的回复消息正文时出错。” Score 是一种信用评分操作。堆栈跟踪包括“XML 文档 (2, 157) 中存在错误”。但我不知道如何获取 XML 文档,以便找出问题所在。

我使用的是Visual Studio 2008,服务代理是生成代码。我的问题是:我能以某种方式得到响应的转储吗?尝试过 Fiddler,但在使用传输级安全性 (https) 时,错误变为“无法为 SSL/TLS 安全通道建立信任关系”。

【问题讨论】:

  • 所以错误是由服务返回给你的?听起来您正在发送错误的 XML。在调试中运行并检查您的请求。
  • 发现响应包含用于字符串等内容的 xml 前缀 xsd。命名空间前缀定义不包含在来自服务器的响应中。然后代理失败并出现反序列化错误。还没有找到解决这个问题的最佳方法,但这完全是另一个问题。
  • +1 但是......有机会知道你是如何解决这个问题的吗?我也一样
  • @JohnIdol 强制服务提供商修复他们的服务并包含命名空间定义。然而,这花了大约 6 个月的时间才完成,在这期间我编写了一个 wcf 片段,它在反序列化之前添加了命名空间(如果它不存在的话)。这里的问题实际上是 Java VS MS Web 服务的互操作性。双方都有一些假设有时会使反序列化变得困难。

标签: c# xml visual-studio-2008 web-services soap


【解决方案1】:

使用Service Trace Viewer Tool 可能会提供有关异常的更多详细信息。尝试将跟踪级别设置为错误或警告。

【讨论】:

  • 非常感谢,它运行良好且易于设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 1970-01-01
  • 2016-11-23
  • 2012-05-20
相关资源
最近更新 更多