我必须用 C# 编写一个 Windows 应用程序,该应用程序能够使用所述 Web 服务。 我正在使用 VS2010 和 .Net 4
我添加了服务引用,代码编译时没有任何错误,但是当我运行它时,我收到带有文本的 ProtocolException:
内容类型“multipart/lated; type="application/xop+xml”; 边界=“----=_Part_0_159582014.1283501395804”; 开始=“”; 响应的 start-info="application/soap+xml"" 与 绑定(应用程序/soap+xml;字符集=utf-8)
当我使用 Web 服务开发人员提供的 VB 示例进行尝试时,一切正常。
我完全迷失在这里,从昨天开始用谷歌搜索,什么也没找到......有人知道那里有什么问题吗?
好吧终于明白了。
您需要手动编辑应用程序的 app.config 文件,并将所有出现的“textMessageEncoding”更改为“motmMessageEncoding”即可解决问题
没有 motmMessageEncoding -> mtomMessageEncoding
您需要确保您的应用程序支持 MTOM。这 需要更改您的 app.config。更多详细信息可以在这里找到:
http://www.tomtomwork.com/en/webfleet/connect/blog.xml - 向下滚动 到“更新的 Visual Basic 示例现在也使用 SOAP”部分
尝试添加 Web 引用而不是服务引用,看看这是否有任何区别。当您选择“添加服务引用”时,单击“高级...”,然后单击“添加 Web 引用...”以显示旧样式参考屏幕。