Cannot find Enpoint in Azure Hosted WCF
===

I have searched high and low for an answer to a problem I have in hosting my WCF in Azure and have given up. Am now asking this question, hopefully someone can answer it.

I have my WCF in IIS7 working perfectly, and already have my client application connecting to it smoothly. It all works locally. I have this binding configuration in my WCF config file:


    <system.serviceModel>
    <standardEndpoints />
    <bindings>
      <basicHttpBinding>
        <binding name="basicHttp" closeTimeout="00:10:00" openTimeout="00:10:00"
          sendTimeout="00:10:00" allowCookies="true" maxBufferSize="2147483647"
          maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
        </binding>
      </basicHttpBinding>
      <webHttpBinding>
        <binding name="webHttp" closeTimeout="00:10:00" openTimeout="00:10:00"
          sendTimeout="00:10:00" hostNameComparisonMode="StrongWildcard"
          maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
            maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
        </binding>
      </webHttpBinding>
    </bindings>
    <services>
      <service name="SurveyWCFService.SurveyService">
        <clear />
        <endpoint address="soap" binding="basicHttpBinding" bindingConfiguration="basicHttp"
          bindingName="basicHttp" contract="SurveyWCFService.SurveyService" />
        <endpoint address="json" behaviorConfiguration="jsonBehavior"
          binding="webHttpBinding" bindingConfiguration="webHttp" contract="SurveyWCFService.SurveyService" />
      </service>
    </services>
    <behaviors>
      <endpointBehaviors>
        <behavior name="jsonBehavior">
          <webHttp />
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="">
          <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    </system.serviceModel>

As you can see I have 2 endpoints, a SOAP endpoint for C# applications connecting to my service, and a JSON named endpoint for clients using REST to access it. I deployed this to Azure with the default configurations in the "Azure Web Role" template and my client can already access the given URL that Azure has generated. But here's the weird stuff:

1) Whenever my client consumes any given service methods, it brings back this exception:

    System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at
    http://<hostedservicename>/SurveyService.svc that could accept the message. 
    This is often caused by an incorrect address or SOAP action. 
    See InnerException, if present, for more details. ---> 
    System.Net.WebException: The remote name could not be resolved: '<hostedservicename>'

It's weird because it means my app is not connecting to <hostedservicename>.cloudapp.net

2) Azure has decided to replace myendpoints and bindings with its own. I came to that conclusion when I checked using Fiddler and checked out the wsdl files as well, here are the bottom part of the wsdl files:
 
**Local WSDL**

    <wsdl:service name="SurveyService"><wsdl:port name="basicHttp_SurveyService" 
    binding="tns:basicHttp_SurveyService"><soap:address location="http://localhost
    /SurveyServiceLibrary/SurveyService.svc/soap"/></wsdl:port></wsdl:service>

**Azure WSDL**

    <wsdl:service name="SurveyService"><wsdl:port name="BasicHttpBinding_SurveyService" 
    binding="tns:BasicHttpBinding_SurveyService"><soap:address location=
    "http://<hostedservicename>.cloudapp.net/SurveyService.svc"/></wsdl:port>   
    </wsdl:service>

Any clues on how to make my WCF work like it was on my local environment? Thanks!