title: WCF Deployment to IIS 6 Results in 403 Permission Error
body: <p>I've never deployed a WCF service to IIS 6 before. I've got a service that I'm deploying to IIS 6 by using the default configuration as part of the WCF project. I since simplified the configuration thinking that might have been the issue. Here is the error I'm getting if I browse to the service in a browser:</p>
  
  <blockquote>
    <p>HTTP Error 403.1 - Forbidden: Execute
    access is denied.</p>
  </blockquote>
  
  <p>My configuration now looks like this:</p>
  
  <pre><code>&lt;system.serviceModel&gt;
      &lt;services&gt;
          &lt;service name="MyCompany.WebServices.MyService"&gt;
              &lt;endpoint address="" binding="basicHttpBinding" contract="MyCompany.WebServices.IMyService" /&gt;
          &lt;/service&gt;
      &lt;/services&gt;
  &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>If I try adding it as a reference in ASP.NET MVC, I get the following:</p>
  
  <blockquote>
    <p>There was an error downloading
    '<a href="http://ws.mycompany.com/MyService.svc" rel="nofollow noreferrer">http://ws.mycompany.com/MyService.svc</a>'.
    The request failed with HTTP status
    403: Forbidden. Metadata contains a
    reference that cannot be resolved:
    '<a href="http://ws.mycompany.com/MyService.svc" rel="nofollow noreferrer">http://ws.mycompany.com/MyService.svc</a>'.
    The HTTP request was forbidden with
    client authentication scheme
    'Anonymous'. The remote server
    returned an error: (403) Forbidden. If
    the service is defined in the current
    solution, try building the solution
    and adding the service reference
    again.</p>
  </blockquote>
  
  <p>Any ideas what might be going on?</p>
  
  <p><strong>UPDATED:</strong></p>
  
  <p>It appears to be a configuration issue on my IIS 6 box. I'd assume this because I've created a brand new ASP.NET 3.5 WCF Application and deployed it to a new URL at <a href="http://ws.unitedoneresources.com/Service1.svc" rel="nofollow noreferrer">http://ws.unitedoneresources.com/Service1.svc</a>. If I try to call that service, I get the same HTTP Error listed above. The entire service configuration is the following:</p>
  
  <pre><code>  &lt;system.serviceModel&gt;
      &lt;services&gt;
        &lt;service name="WcfService1.Service1" behaviorConfiguration="WcfService1.Service1Behavior"&gt;
          &lt;!-- Service Endpoints --&gt;
          &lt;endpoint address="" binding="wsHttpBinding" contract="WcfService1.IService1"&gt;
            &lt;!-- 
                Upon deployment, the following identity element should be removed or replaced to reflect the 
                identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
                automatically.
            --&gt;
            &lt;identity&gt;
              &lt;dns value="localhost"/&gt;
            &lt;/identity&gt;
          &lt;/endpoint&gt;
          &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/&gt;
        &lt;/service&gt;
      &lt;/services&gt;
      &lt;behaviors&gt;
        &lt;serviceBehaviors&gt;
          &lt;behavior name="WcfService1.Service1Behavior"&gt;
            &lt;!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --&gt;
            &lt;serviceMetadata httpGetEnabled="true"/&gt;
            &lt;!-- 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 --&gt;
            &lt;serviceDebug includeExceptionDetailInFaults="false"/&gt;
          &lt;/behavior&gt;
        &lt;/serviceBehaviors&gt;
      &lt;/behaviors&gt;
    &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>Again, this is a brand new ASP.NET 3.5 WCF Application so I haven't modified anything on the project itself.</p>