【发布时间】: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