Q:

WCF + IIS6 + HTTPS + Basic authentication

I have seen loads of questions about this, I've spent over a day researching and trying to fix it but I've drawn a blank. 
I want to deploy a WCF service onto a server connecting with HTTPS and using basic authentication.  Here is my service web.config
I am using an extremely simple Calculator as a test which has a single method which adds together two numbers. 
<configuration>

    <system.web>
        <compilation debug="false" targetFramework="4.0" />
        <customErrors mode="Off" />
    </system.web>

    <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="UsernameWithTransport">
                    <security mode="Transport">
                        <transport clientCredentialType="Basic" />
                    </security>
                </binding>
            </wsHttpBinding>
        </bindings>

        <services>
            <service name="Service">
                <endpoint address="https://myserver.mydomain.co.uk/CalculatorService"
                          binding="wsHttpBinding"
                          bindingConfiguration="UsernameWithTransport"
                          name="BasicEndpoint"
                          contract="TestCalculator" />
            </service>
        </services>

        <behaviors>
            <serviceBehaviors>
                <behavior name="">
                    <serviceMetadata httpGetEnabled="true"/>
                    <serviceDebug includeExceptionDetailInFaults="true"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>

In IIS 6.0 I have enabled basic authentication and required HTTPS. 
I can browse to the .svc file and it asks for my credentials.  I provide them and it displays the default page.  However it says:

You have created a service. 
To test this service, you will need to create a client and use it to
  call the service.  You can do this using the svcutil.exe tool from the
  command line with the following syntax:
svcutil.exe
  http://myserver.mydomain.co.uk/CalculatorService/Service.svc?wsdl
This will generate a configuration file and a code file that contains
  the client class.  Add the two files to your client application and use
  the generated client class to call the Service.  For example: ......

Basically, the issue seems to be that the path to the .wsdl is a http:// not an https:// and I don't think I understand why. 
I am now trying to create a C# console application to test consuming the service.  I cannot add the reference to the .svc path directly because it just goes around and around in a loop asking me for my username and password.  If I add the reference to the .svc?wsdl then that did work but then invoking the service gives a "Method not allowed" because it is trying to use HTTP not HTTPS. 
Hope I have expained this well enough.  Thanks for any help. 

A:

You requires HTTPS but in the same time you allow WSDL only over HTTP.  Change this:
<serviceMetadata httpGetEnabled="true"/>

To this:
<serviceMetadata httpsGetEnabled="true"/>

Now you will be able to access WSDL over https://..../....svc?wsdl but you will still have to authenticate because authentication is global for your deployed site.