使用SSL添加服务引用

时间:2013-06-25 19:42:06

标签: .net wcf visual-studio iis certificate

我有一个具有以下绑定的服务:

<bindings>
  <mexHttpsBinding>
    <binding name="MetadataHTTPSBinding" />
  </mexHttpsBinding>
  <basicHttpsBinding>
    <binding name="BasicHTTPSBinding" maxBufferPoolSize="2147483646" maxBufferSize="2147483646" maxReceivedMessageSize="2147483646" messageEncoding="Mtom" />
  </basicHttpsBinding>
</bindings>
<services>
  <service name="MyNameSpace.PDFGenerator">
    <endpoint address="" binding="basicHttpsBinding" bindingConfiguration="BasicHTTPSBinding" name="DataEndpoint" contract="MyNameSpace.IPDFGenerator" />
  </service>
</services>

每当我使用WCF测试客户端时,该服务都会正常添加。每当我访问IE中的服务URL时,它都不会显示有关证书不受信任的错误或警告。但是,每当我尝试在“添加服务引用”对话框中的visual studio中添加服务时,我仍然遇到问题。

  

下载时出错   ' baseURL时 /services/PDFGenerator.svc/_vti_bin/ListData.svc/$metadata'。   基础连接已关闭:发生意外错误   发送。无法从传输连接中读取数据:现有数据   连接被远程主机强行关闭。现有的   连接被远程主机强制关闭元数据包含一个   无法解决的参考:   ' baseURL时 /services/PDFGenerator.svc'。制作时发生错误   对 baseurl /services/PDFGenerator.svc的HTTP请求。这可能是   由于服务器证书配置不正确   在HTTPS情况下使用HTTP.SYS。这也可能是由a引起的   客户端和服务器之间的安全绑定不匹配。   基础连接已关闭:发生意外错误   发送。无法从传输连接中读取数据:现有数据   连接被远程主机强行关闭。现有的   连接被远程主机强行关闭如果服务是   在当前解决方案中定义,尝试构建解决方案并添加   再次提供服务参考。

1 个答案:

答案 0 :(得分:0)

事实证明我在添加服务时必须更改URL。我正在做以下

myservername/services/PDFGenerator.svc

但它必须是

myservername.mycompany.com/services/PDFGenerator.svc

我不明白为什么需要这样才能正常工作。