无法访问服务器上托管的远程WCF Web服务

时间:2012-06-14 06:41:49

标签: wcf iis-7 vb.net-2010

您好我已在服务器计算机上部署了WCF Web服务。我可以在浏览器中浏览它。但是当我要将它的服务引用添加到我在开发机器上的Web应用程序时,我得到了以下细节错误:

  

元数据包含无法解析的引用:   的 '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' ..       如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。

服务器上Web.config中的

生成服务模型部分如下:

<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>

2 个答案:

答案 0 :(得分:1)

解决了!!!通过在服务器上添加具有C:\ Windows \ Temp完全权限的Everyone用户。 IIS需要在服务器上的Temp文件夹中生成元数据文件的权限。

答案 1 :(得分:0)

请在地址而不是ServerMachineName中提供服务器的IP地址,并检查客户端n服务器的绑定