使用webHttpBinding的https问题

时间:2012-07-17 11:15:00

标签: wcf

使用webHttpBinding实现https时遇到问题。我收到了以下错误

无法找到与绑定WebHttpBinding的端点匹配方案https的基址。注册的基地址方案是[http]

下面是我的web.config代码。请帮忙

<system.serviceModel>
<bindings>
  <webHttpBinding>
    <binding name="webHttpMobile" maxReceivedMessageSize="2147483647">
      <security mode="Transport">
        <transport clientCredentialType="None" />
      </security>
      <readerQuotas maxStringContentLength="2147483647" />
    </binding>
  </webHttpBinding>
</bindings>
<services>

  <service behaviorConfiguration="mybehavior"          name="SoIn.Services.MobileWebRole.Command">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding"    bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.ICommand" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
  <service behaviorConfiguration="mybehavior" name="SoIn.Services.MobileWebRole.Query">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.IQuery" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
  <service behaviorConfiguration="mybehavior" name="SoIn.Services.MobileWebRole.Configuration">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.IConfiguration" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <endpointBehaviors>
    <behavior name="web">
      <webHttp />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="mybehavior">
      <serviceMetadata  httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

1 个答案:

答案 0 :(得分:-2)

尝试以下提到的配置。

<system.serviceModel>
<bindings>
  <webHttpBinding>
    <binding name="webHttpMobile" maxReceivedMessageSize="2147483647">
      <security mode="Transport">
        <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
      <readerQuotas maxStringContentLength="2147483647" />
    </binding>
  </webHttpBinding>
</bindings>
<services>

  <service behaviorConfiguration="mybehavior"          name="SoIn.Services.MobileWebRole.Command">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding"    bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.ICommand" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
  <service behaviorConfiguration="mybehavior" name="SoIn.Services.MobileWebRole.Query">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.IQuery" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
  <service behaviorConfiguration="mybehavior" name="SoIn.Services.MobileWebRole.Configuration">
    <endpoint address="mobile" behaviorConfiguration="web" binding="webHttpBinding" bindingConfiguration="webHttpMobile" contract="SoIn.Services.MobileWebRole.IConfiguration" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>
<behaviors>
  <endpointBehaviors>
    <behavior name="web">
      <webHttp />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="mybehavior">
      <serviceMetadata  httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />