title: Is basicHttpBinding really required when exposing a WCF service as a Web Service for .NET 2.0 Target Client?
body: <p>I have a WCF service and am hosting it in a Windows Service.</p>
  
  <p>I tried to add a reference for the service from a Windows Form client built on .NET 2.0. I could get the Web Reference by pointing to the httpGetUrl="http://localhost:8002/HBAccess/help/mex" but when I check the Reference.cs---It only contains a namespace with nothing in it.</p>
  
  <p>Now I add the basicHttpBinding and repeat the same steps:
  </p>
  
  <p>And now I can see the classes for the web service.</p>
  
  <p>My senior colleague insist that setting the httpGetEnabled to true would be sufficient to export the WCF service via http and make a proper web reference.
  </p>
  
  <p>Could anyone point me to what I am missing here?</p>
  
  <pre><code>&lt;system.serviceModel&gt;
  &lt;services&gt;
    &lt;service behaviorConfiguration="HBAcsNX.HBAccessBehavior" name="HBAcsNX.HBAccess"&gt;
          &lt;!--&lt;endpoint address="" binding="basicHttpBinding" contract="HBAcsNX.HBAccess" /&gt;--&gt;
          &lt;endpoint address="HBAccess" binding="netTcpBinding" contract="HBAcsNX.HBAccess" /&gt;
          &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt;
          &lt;host&gt;
            &lt;baseAddresses&gt;
                  &lt;add baseAddress="net.tcp://localhost:18264/HBAccess/" /&gt;
                  &lt;add baseAddress="http://localhost:8002/HBAccess/" /&gt;
            &lt;/baseAddresses&gt;
          &lt;/host&gt;
    &lt;/service&gt;
  &lt;/services&gt;
  &lt;behaviors&gt;
    &lt;serviceBehaviors&gt;
          &lt;behavior name="HBAcsNX.HBAccessBehavior"&gt;
            &lt;serviceDebug includeExceptionDetailInFaults="True" httpHelpPageUrl="http://localhost:8002/HBAccess/help" /&gt;
            &lt;serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8002/HBAccess/help/mex" /&gt;
          &lt;/behavior&gt;
    &lt;/serviceBehaviors&gt;
  &lt;/behaviors&gt;
  &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>// Resulting Reference.cs (Empty proxy stub with only namespace)</p>
  
  <pre><code>#pragma warning disable 1591
  namespace Form.ServiceClient {
  }
  #pragma warning restore 1591
  </code></pre>