【问题标题】:how to consume .svc file如何使用 .svc 文件
【发布时间】:2015-04-20 12:17:30
【问题描述】:

我有 svc 文件的 url。例如https://Myservicelocation/UserService.svc

现在我尝试在 Visual Studio 中创建 asp.net Web 应用程序并使用“添加服务引用”添加此 URL。当我输入这个 url 然后点击 go 我得到错误

请求失败,HTTP 状态为 400:错误请求。 元数据包含无法解析的引用:“https://Myservicelocation/UserService.svc”。 内容类型应用程序/soap+xml;服务 https://Myservicelocation/UserService.svc 不支持 charset=utf-8。客户端和服务绑定可能不匹配。 远程服务器返回错误:(415)无法处理消息,因为内容类型'application/soap+xml; charset=utf-8' 不是预期的类型 'text/xml;字符集=utf-8'.. 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

我该如何解决这个问题?

【问题讨论】:

  • 你有 WSDL 文件吗?
  • @Coder1409 是的,我有。所以看起来我必须使用 wsdl 而不是 svc。我说的对吗?
  • 尝试复制您的 WSDL,将其粘贴到 .WSDL 文件中,添加对此文件的服务引用,然后重试,如果问题仍然存在,请使用通道工厂,如果您有服务的合同定义
  • @Coder1409 当我在添加服务引用时添加 .wsdl 时它可以工作。所以它不适用于使用 .svc?
  • 我不知道你是如何实现你的服务的,也不知道你对服务器的授权,它可以是任何东西,尝试在 .svc 之后添加 ?wsdl ,它应该可以工作

标签: asp.net wcf


【解决方案1】:

谷歌说..

可能是客户端/服务器绑定不匹配,其中服务中的消息版本使用 SOAP 1.1(需要 application/soap+xml),而客户端中的版本使用 SOAP 1.2(发送 text/xml)。 WSHttpBinding 使用 SOAP 1.2,BasicHttpBinding 使用 SOAP 1.1。

相应地对齐您的绑定...

【讨论】:

    【解决方案2】:

    我遇到了同样的问题。

    试试https://Myservicelocation/UserService.svc?wsdl链接。

    【讨论】:

    • 它没有用。我得到了这个错误。 Error loading [http://partners.qa.gfs.dom/Account/LogOn]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: The markup in the document preceding the root element must be well-formed
    猜你喜欢
    • 2012-04-13
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多