2012-07-09 56 views
-1

我有一個wcf服務,通過http或https訪問。它運行在共享主機環境中。WCF基地址

我取消了SSL託管。即刪除了SSL的私有IP等。

我沒有對我的配置進行任何更改。現在

,如果我只是嘗試訪問我的服務像

http://myservice.com/myservice.svc?wsdl

我收到以下錯誤:

找不到與結合匹配方案HTTPS端點的基址basicHttpBinding的。註冊的基地址方案是[http]。

注意錯誤消息提到了https的方案。不知道爲什麼。

任何這方面的幫助?

更新配置信息:

<baseAddressPrefixFilters> 
    <add prefix="http://mysite.com/"/> 
    </baseAddressPrefixFilters> 
</serviceHostingEnvironment> 
<services> 
    <service behaviorConfiguration="MySiteServiceBehavior" name="MySite.MyService"> 
    <clear/> 
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="MySiteBasicBinding" name="MySiteBasicEndpoint" 
     contract="MySite.IMyService"/> 
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="MySiteBasicSslBinding" name="MySiteBasicSslEndpoint" 
     contract="MySite.IMyService"/> 
    <endpoint address="json" endpointConfiguration="myJson" kind="webHttpEndpoint" binding="webHttpBinding" bindingConfiguration="MySiteBasicBinding" 
     name="jsonEndpoint" contract="MySite.IMyService" behaviorConfiguration="MySite.MyServiceBehavior.json"/> 
    <endpoint address="json" endpointConfiguration="myJson" kind="webHttpEndpoint" binding="webHttpBinding" bindingConfiguration="MySiteBasicSslBinding" 
     name="jsonSslEndpoint" contract="MySite.IMyService" behaviorConfiguration="MySite.MyServiceBehavior.json"/> 
    <endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://MySite.com/MyService.svc"/> 
     <add baseAddress="https://MySite.com/MyService.svc"/> **--- still have problem with this line commented out** 
     </baseAddresses> 
    </host> 
    </service> 
</services> 
<bindings> 
    <basicHttpBinding> 
    <binding name="MySiteBasicBinding"/> 
    <binding name="MySiteBasicSslBinding"> 
     <security mode="Transport"/> 
    </binding> 
    </basicHttpBinding> 
    <webHttpBinding> 
    <binding name="MySiteBasicBinding"/> 
    <binding name="MySiteBasicSslBinding"> 
     <security mode="Transport"/> 
    </binding> 
    </webHttpBinding> 
</bindings> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="MySiteServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/> **--- still have problem with httpsGetEnabled set to false** 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="MySite.MyServiceBehavior.json"> 
     <!--<enableWebScript/>--> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<standardEndpoints> 
    <webHttpEndpoint> 
    <standardEndpoint name="myJson" helpEnabled="true" automaticFormatSelectionEnabled="true"/> 
    </webHttpEndpoint> 
</standardEndpoints> 

UPDATE

我刪除任何/甚至遠程與HTTPS和所有引用它的工作。 我只是很驚訝,是必需的。

+2

檢查你的配置。 – DarthVader 2012-07-09 22:08:41

+1

請將服務配置添加到您的問題 – ulrichb 2012-07-09 22:09:08

+0

顯示一些努力,您看過配置中的HTTPS引用嗎? – Paparazzi 2012-07-09 22:16:50

回答

1

聽起來你仍然對serviceBehaviors中的行爲元素有httpsGetEnabled。

+0

刪除對https相關項目的大量引用解決了此問題。 – Fernando 2012-07-09 22:49:43