【问题标题】:Using a SOAP 1.1 web service from .NET 3.5使用 .NET 3.5 的 SOAP 1.1 Web 服务
【发布时间】:2010-12-06 01:00:23
【问题描述】:

似乎 .NET 3.5 在处理 Web 服务时强制使用 SOAP 1.2 架构,即使该服务在 SOAP 信封的架构中指定了 SOAP 1.1。是否有设置让服务引用识别 SOAP 1.1?

编辑:问题是从 Web 服务返回到 .NET 3.5 客户端的 SOAP 错误的格式。在 SOAP 1.1 中,错误的第一个子元素是 <faultactor> 是可以接受的。在 SOAP 1.2 中,这不再有效 - 第一个子元素必须是 <faultcode>。我看到的问题是,当 SOAP 1.1 Web 服务返回 SOAP 错误时,我会在 .NET 上得到一个异常,抱怨元素 <faultcode> 是预期的,但收到了 <faultactor>。我认为我们已经将问题缩小到 SOAP 版本控制问题。我们现在正在测试提议的解决方案。

【问题讨论】:

  • 请举例说明您的意思。你尝试了什么,效果如何?

标签: .net web-services soap


【解决方案1】:

如果您使用的是 WCF,请将其设置在您的自定义绑定中。

 <textMessageEncoding messageVersion="Soap11" />

如果你在这里使用 asmx 很好 blog

【讨论】:

  • 这就是为什么我希望 OP 描述他的尝试 - 它应该在 WCF 中“正常工作”。
  • 嗨,Gary,我们实际上没有使用 WCF - 我只是在 Visual Studio 中添加服务引用。如您之前所述,我向客户端添加了一个属性,希望这可以解决问题。
猜你喜欢
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2021-06-12
相关资源
最近更新 更多