【问题标题】:Deploy WCF Web Service in IIS 7 - Getting Error在 IIS 7 中部署 WCF Web 服务 - 出现错误
【发布时间】:2012-10-12 00:36:50
【问题描述】:

我正在尝试将 VS 2010 中的服务引用添加到我在 Server 2008/IIS7 服务器上的 WCF Web 服务中。我将服务放入现有/正在运行的 ASP.NET 站点中。当我输入服务的 url 时,它会出现标准服务屏幕,但是当我尝试添加对我正在开发的新网站项目的引用时,我收到以下错误。

网址为https://www.nameofsite.net/service.svc?wsdl 的文档未被识别为已知文档类型。 来自每种已知类型的错误消息可能会帮助您解决问题: - 来自“XML Schema”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。 - 来自“https://www.nameofsite.net/service.svc?wsdl”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。 - 来自“DISCO 文档”的报告是“无法找到 URL https://www.nameofsite.net/Service.svc?disco 的发现文档。”。 - 无法识别文档格式。 - 来自“WSDL 文档”的报告是“无法识别文档格式(内容类型为 'text/html; charset=UTF-8')。”。 元数据包含无法解析的引用:“https://www.nameofsite.net/service.svc?wsdl”。 在https://www.nameofsite.net/service.svc?wsdl 上没有可以接受消息的端点监听。这通常是由不正确的地址或 SOAP 操作引起的。有关更多详细信息,请参阅 InnerException(如果存在)。 远程服务器返回错误:(404) Not Found。 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

我尝试将 mime 类型 svc 添加到 IIS,但没有成功。我看到有很多关于soap 1.1 不与soap 1.2 通信的讨论,但我对此太陌生,甚至无法按照我看到的说明进行操作。请帮忙。谢谢。

【问题讨论】:

    标签: asp.net wcf web-services


    【解决方案1】:

    服务是否发布其元数据?检查服务的 web.config 文件中的 httpsGetEnabled 标志:

    <behaviors>
     <serviceBehaviors>
      <behavior name="NewBehavior">
        <serviceMetadata httpsGetEnabled="true" 
         httpsGetUrl="https://myComputerName/myEndpoint" />
      </behavior>
     </serviceBehaviors>
    </behaviors>
    

    有关这些标签的更多信息:ServiceMetaData

    您可能还需要在 web.config 中为服务配置此端点:

    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
    

    更多背景: Web.Config

    WSDL vs MEX

    【讨论】:

    • 您的 serviceMetaData 部分已启用 httpGetEnabled,但您还需要 httpsGetEnabled = "true",因为您尝试使用 https 访问它。
    猜你喜欢
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    相关资源
    最近更新 更多