title: WCF Exception: Could not find a base address that matches scheme http for the endpoint
body: <p>I'm trying to host a WCF web service on a separate Website in IIS with https at 443 as the only binding. </p>
  
  <p>The following configurations works well when I use it in a website which uses both the bindings (http(80) / https(443)). If I remove the http binding, it starts throwing the following error.</p>
  
  <p><em><strong>Could not find a base address that matches scheme http for the endpoint with binding BasicHttpBinding. Registered base address schemes are [https].</em></strong></p>
  
  <p><strong>How do I make it work in an IIS website with https binding only?</strong></p>
  
  <pre><code>  &lt;system.serviceModel&gt;
      &lt;bindings&gt;
        &lt;basicHttpBinding&gt;
          &lt;binding name="defaultBasicHttpBinding"&gt;
            &lt;security mode="Transport"&gt;
              &lt;transport clientCredentialType="None" proxyCredentialType="None" realm=""/&gt;
              &lt;message clientCredentialType="Certificate" algorithmSuite="Default" /&gt;
            &lt;/security&gt;
          &lt;/binding&gt;
        &lt;/basicHttpBinding&gt;
      &lt;/bindings&gt;
      &lt;client&gt;
        &lt;endpoint address="http://localhost/ERPService/retailPayment.svc"
                  binding="basicHttpBinding" bindingConfiguration="defaultBasicHttpBinding"
                  contract="RetailPaymentService.RetailPayment.SVRetailPaymentService" name="EnterpriseRetailPayment" /&gt;
      &lt;/client&gt;
      &lt;behaviors&gt;
        &lt;serviceBehaviors&gt;
          &lt;behavior name="MyServiceTypeBehaviors"&gt;
            &lt;serviceMetadata httpGetEnabled="true" /&gt;
            &lt;serviceDebug includeExceptionDetailInFaults="true" /&gt;
          &lt;/behavior&gt;
          &lt;behavior&gt;
            &lt;serviceMetadata httpGetEnabled="true" /&gt;
            &lt;serviceDebug includeExceptionDetailInFaults="true" /&gt;
          &lt;/behavior&gt;
        &lt;/serviceBehaviors&gt;
        &lt;endpointBehaviors&gt;
          &lt;behavior name="MyEndPointBehavior"&gt;
            &lt;!--&lt;SchemaValidator enabled="true"/&gt;--&gt;
          &lt;/behavior&gt;
        &lt;/endpointBehaviors&gt;
      &lt;/behaviors&gt;
      &lt;services&gt;
        &lt;service name="SettlementSalesCollection.SaleItemService" behaviorConfiguration="MyServiceTypeBehaviors"&gt;
          &lt;endpoint behaviorConfiguration="MyEndPointBehavior" binding="basicHttpBinding"
                    name="SettlementSalesCollection"
                    contract="SettlementSalesCollection.CITransactionSettlementListenerService" /&gt;
          &lt;endpoint name="mexEndpoint" contract="IMetadataExchange" binding="mexHttpBinding" address="mex" /&gt;
        &lt;/service&gt;
      &lt;/services&gt;
      &lt;extensions&gt;
        &lt;behaviorExtensions&gt;
          &lt;add name="SchemaValidator"
               type="SettlementSalesCollection.SchemaValidation.SchemaValidationBehavior+CustomBehaviorSection, SettlementSalesCollectionService, Version=1.0.0.0, Culture=neutral" /&gt;
        &lt;/behaviorExtensions&gt;
      &lt;/extensions&gt;
      &lt;protocolMapping&gt;
        &lt;add binding="basicHttpsBinding" scheme="https" /&gt;
      &lt;/protocolMapping&gt;
      &lt;serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /&gt;
    &lt;/system.serviceModel&gt;
  </code></pre>