2011-09-21 14 views
3

我看遍了所有的互联网和遍布堆栈溢出来解决这个问题,没有任何工作,我希望有人有一个想法,我失踪。“提供的URI方案'https'无效;期望'http'。参数名称:通过” - 帮助?

我试图连接到HTTPS:服务,但我收到此错误

“提供的URI方案的‘https’无效;预计‘HTTP’参数名:通过”

这是我的配置:

<system.serviceModel> 
<client> 
    <endpoint address="https://authenicate.example.com/service/authenticate" behaviorConfiguration="Project" binding="basicHttpBinding" bindingConfiguration="SSLBinding" contract="Example.Test.Authentication" name="InternalAuthenticate" /> 
</client> 
<bindings> 
    <basicHttpBinding> 
    <binding name="SSLBinding" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"> 
     <security mode="Transport" /> 
     <readerQuotas maxDepth="32" maxStringContentLength="2048000" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="2147483647" /> 
    </binding> 
    </basicHttpBinding> 
</bindings> 
<services /> 
<behaviors> 
    <endpointBehaviors> 
    <behavior name="Project"> 
     <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
    </behavior> 
    </endpointBehaviors> 
    <serviceBehaviors> 
    <behavior name="DispatcherBehavior"> 
     <serviceMetadata httpsGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="true" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 

什么想法?

回答

2

您可以使用Mex绑定代替HTTPS。正如评论中提到的,有些替代品不需要使用Mex绑定。看看this example

+0

这是不正确得到角落找寻一些问题。我可以在BasicHttpBinding中使用HTTPS。我确实有一个问题,包括需要消除mex endpoing,但... [Stackoverflow救援](http://stackoverflow.com/questions/11512969/wcf-on-https-generates-the-provided -uri-scheme-https-is-invalid-expected-ht) – ALEXintlsos

+2

这确实是不正确的。按照预期将安全模式设置为Transport将使用HTTPS。有关更多详细信息,请参阅http://msdn.microsoft.com/zh-cn/library/system.servicemodel.basichttpsecuritymode.aspx上的MSDN文档。 – allu

0

或者使用自定义绑定。

<customBinding> 
    <binding name="CustomHttpBinding"> 
     <security allowInsecureTransport="True"> 
     </security> 
     <httpTransport /> 
    </binding> 
    </customBinding> 

我已经做到这一点使用WCF和负载平衡器

相关问题