尝试将Web服务引用添加到项目时的HTTP状态400

时间:2014-02-22 15:14:53

标签: c# .net web-services wcf soap

我正在尝试将this WCF service reference添加到我的Visual Studio 2012 C#项目中。当我尝试通过添加服务对话框加载服务时,出现此错误

  

下载时出错   'https://api.onecallnow.com/WebService/3.1/soap.svc/_vti_bin/ListData.svc/ $的元数据'。   请求失败,HTTP状态为400:错误请求。元数据   包含无法解析的引用:   'https://api.onecallnow.com/WebService/3.1/soap.svc'。内容类型   应用/肥皂+ xml的;服务不支持charset = utf-8   https://api.onecallnow.com/WebService/3.1/soap.svc。客户和   服务绑定可能不匹配。远程服务器返回了   错误:(415)无法处理消息,因为内容类型   “应用程序/肥皂+ xml的; charset = utf-8'不是预期的类型   “文本/ XML; charset = utf-8'..如果服务是在当前定义的   解决方案,尝试构建解决方案并添加服务引用   试。

我已经查看了其他有关此错误的问题,但几乎所有问题都建议更改一些我无法访问的WCF服务配置。

有人建议消息的最后一部分意味着我使用的SOAP版本与服务使用的版本不同,但我没有看到任何在“添加Web服务”对话框中更改它的选项。

有人可以帮我正确添加此服务参考吗?

1 个答案:

答案 0 :(得分:5)

如果您在浏览器中使用该服务,您将看到以下内容:

enter image description here

服务所有者已禁用元数据发布,因此您无法通过“添加服务引用”对话框添加服务引用。

如果服务的所有者可以为您提供WSDL和其他元数据文件,则可以使用ServiceModel Meatadata Utility Tool (SvcUtil.exe)构建代理;否则他们可能会有其他可以使用的方法。

当然,假设此服务仅供公众使用。