2013-06-25 158 views
1

我有下面的結合服務:添加服務參考使用SSL

<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'。將 的HTTP請求發送至baseurl /services/PDFGenerator.svc時發生錯誤。這可能是 ,這是由於在HTTPS情況下服務器證書未正確配置爲使用HTTP.SYS的 。這也可能是由客戶端和服務器之間的安全綁定的 不匹配造成的。 底層連接已關閉:發送的 發生意外錯誤。無法從傳輸連接讀取數據:現有的 連接被遠程主機強制關閉。現有的 連接被遠程主機強制關閉如果當前解決方案中定義的服務爲 ,請嘗試構建解決方案並再次添加 服務引用。

+0

如果你改變綁定到http會發生什麼? – Jay

回答

0

事實證明,我必須在添加服務時更改URL。我是做了以下

myservername/services/PDFGenerator.svc 

,但它需要的是

myservername.mycompany.com/services/PDFGenerator.svc 

我不明白爲什麼它需要的是能夠正常工作。