您好我已在服务器计算机上部署了WCF Web服务。我可以在浏览器中浏览它。但是当我要将它的服务引用添加到我在开发机器上的Web应用程序时,我得到了以下细节错误:
服务器上Web.config中的元数据包含无法解析的引用: 的 'http:// ServerMachineName:500 / ITCAMSWebService_deploy /服务/ Authentication.svc WSDL'。 WSDL文档包含无法解析的链接。 下载'http:// ServerMachineName:500 / ITCAMSWebService_deploy / Services / Authentication.svc?xsd = xsd0'时出错。 底层连接已关闭:接收时发生意外错误。 无法从传输连接读取数据:远程主机强制关闭现有连接。 远程主机强制关闭现有连接 元数据包含无法解析的引用:'http:// ServerMachineName:500 / ITCAMSWebService_deploy / Services / Authentication.svc'。 内容类型application / soap + xml;服务不支持charset = utf-8
http://ServerMachineName:500/ITCAMSWebService_deploy/Services/Authentication.svc
。 客户端和服务绑定可能不匹配。 远程服务器返回错误:(415)无法处理消息,因为内容类型为'application / soap + xml;字符集= UTF-8' 不是预期的类型'text / xml;字符集= UTF-8' .. 如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。
生成服务模型部分如下:
<system.serviceModel>
<services>
<service name="Authentication" behaviorConfiguration="Behavior_Authentication">
<host>
<baseAddresses>
<add baseAddress="http://ServerMachineName:500/ITCAMSWebService_deploy/Services/Authentication.svc"></add>
</baseAddresses>
</host>
<endpoint address="" contract="IAuthentication" binding="basicHttpBinding" bindingConfiguration="ITCAMSWebService.IAuthentication" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" />
</system.serviceModel>
答案 0 :(得分:1)
解决了!!!通过在服务器上添加具有C:\ Windows \ Temp完全权限的Everyone
用户。 IIS需要在服务器上的Temp文件夹中生成元数据文件的权限。
答案 1 :(得分:0)
请在地址而不是ServerMachineName中提供服务器的IP地址,并检查客户端n服务器的绑定