【问题标题】:Cannot add service reference: the content type text/html [..] does not match the content type of the binding无法添加服务引用:内容类型 text/html [..] 与绑定的内容类型不匹配
【发布时间】:2014-08-25 14:29:32
【问题描述】:

我有一个 Web API,我想调用一个使用 SOAP 的在线 Web 服务。

我尝试将其添加为“服务参考”,但是当我调用它时,出现以下汇总错误

响应消息的内容类型 text/html 不匹配 绑定的内容类型(text/xml;charset=utf-8)。如果使用 自定义编码器,请确保 IsContentTypeSupported 方法 实施得当。响应的前 13 个字节是:<HTML></HTML>

我的web.config 中的绑定是basicHttpBinding,我检查了绑定配置是否与 WSDL 配置匹配,并且确实匹配。

这是我尝试使用的 URL: http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl

是否可以通过 Web API 使用 SOAP?

【问题讨论】:

  • 在浏览器中打开 URL 并检查页面上的内容。你会得到一个网页 (text/html),你会在其中期望一个 WSDL (text/xml)。
  • 我同意@CodeCaster:该服务似乎响应一个 weg 页面 - 这可能是一个错误页面 => 以某种方式显示整个响应。
  • 感谢您的 cmets,我添加了您需要的信息。
  • WebAPI 部分无关紧要,您正在尝试创建一个 WCF 代理,这几乎可以在任何类型的应用程序中使用,而不管该应用程序中使用的其他库如何。您收到的错误意味着您在粘贴 URL 时出错。 URL 在浏览器中是否有效?贵公司的代理服务器是否阻止该请求?
  • 我从一个普通的 asp 项目中尝试过,它工作正常。是的,它确实有效

标签: c# web-services rest soap


【解决方案1】:

虽然我对 VIES 服务有一些经验。我可以确认您可以使用 C# .NET 使用 SOAP 服务。我在我的blog 上发布了解决方案,并在 GitHub 存储库VIESCheckVatService 上找到了整个项目。

希望你能帮忙。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2011-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 2016-12-03
    相关资源
    最近更新 更多