【问题标题】:WCF IIS server configurationWCF IIS 服务器配置
【发布时间】:2011-10-04 03:33:52
【问题描述】:

我有带有 IIS7 的 Windows Server 2008 R2。我在上面部署了 WCF 服务。当我在浏览器(本地或外部机器)http://sbkisourcedev01/VCIndex/Calculator.svc?wsdl 中指定 WCF 服务地址时,我在浏览器中获取服务描述。但是,当我尝试向该服务添加对该项目的引用时,出现以下错误:

该文件已被理解,但无法处理。 - WSDL 文档包含无法解析的链接。 - 下载“http://sbkisourcedev01/VCIndex/Calculator.svc?xsd=xsd0”时出错。 - 底层连接已关闭:接收时发生意外错误。 - 无法从传输连接读取数据:现有连接被远程主机强行关闭。 - 现有连接被远程主机强行关闭 元数据包含无法解析的引用:“http://sbkisourcedev01/VCIndex/Calculator.svc?wsdl”。 内容类型应用程序/soap+xml;服务 http://sbkisourcedev01/VCIndex/Calculator.svc?wsdl 不支持 charset=utf-8。客户端和服务绑定可能不匹配。 远程服务器返回错误:(415)无法处理消息,因为内容类型'application/soap+xml; charset=utf-8' 不是预期的类型 'text/xml;字符集=utf-8'.. 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

我在 Windows 7 上运行此服务,没问题。所以我相信我的 W2K8 IIS 配置设置有问题。

这是我的配置文件:

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttpBindingConfig" />
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="serviceBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <services>
      <service behaviorConfiguration="serviceBehavior"
               name="WCFVCIndex.Calculator">
        <endpoint address=""
                  binding="basicHttpBinding"
                  contract="WCFVCIndex.ICalculator"
                  bindingConfiguration="basicHttpBindingConfig" />
        <endpoint address="mex"
                  binding="mexHttpBinding"
                  contract="IMetadataExchange" />
      </service>
    </services>
  </system.serviceModel>

提前致谢。

【问题讨论】:

    标签: wcf iis iis-7 configuration web-config


    【解决方案1】:

    问题在于 WCF 身份权限。用于承载 WCF 服务的应用程序池的标识必须对 %WINDIR%\temp 文件夹具有完整的 NTFS 权限。在 C:\Windows\Temp 上将该权限更改为我的身份(本地服务)后,我能够将服务引用添加到 WCF 服务。

    【讨论】:

    • 谢谢你,你拯救了我的一天! +1
    • 你是怎么做到的?你能提到这些步骤吗?
    【解决方案2】:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多