title: Invalid HTTP status code 405 in Chrome only
body: <p>I have a WCF service which saves a customer to a database and <strong>works as expected in Internet Explorer</strong> but <strong>not</strong> in Chrome (for that reason i will leave out the HTML/Json as it makes me think this is a web config issue but i can post if anyone likes).</p>
  
  <p>In Chrome i get the error:</p>
  
  <p><em>Failed to load resource: the server responded with a status of 405 (Method Not Allowed)
  Subscriber.htm:1 XMLHttpRequest cannot load <a href="http://example.com/MyService.svc/SaveCustomer" rel="nofollow">http://example.com/MyService.svc/SaveCustomer</a>. Invalid HTTP status code 405</em></p>
  
  <p>My Web Config:</p>
  
  <pre><code>&lt;system.web&gt;
      &lt;compilation debug="false" strict="false" explicit="true" targetFramework="4.0" /&gt;
      &lt;pages&gt;
        &lt;namespaces&gt;
          &lt;add namespace="System.Runtime.Serialization" /&gt;
          &lt;add namespace="System.ServiceModel" /&gt;
          &lt;add namespace="System.ServiceModel.Web" /&gt;
        &lt;/namespaces&gt;
      &lt;/pages&gt;
    &lt;/system.web&gt;
    &lt;system.serviceModel&gt;
        &lt;services&gt;
        &lt;service name="IService.MyService"&gt;
          &lt;endpoint address="http://example.com/MyService.svc"
            binding="webHttpBinding" 
            bindingConfiguration="" 
            contract="IService" 
            behaviorConfiguration="webHttpBinding" /&gt;
        &lt;/service&gt;
      &lt;/services&gt;
      &lt;client&gt;
        &lt;endpoint 
        binding="webHttpBinding" 
        bindingConfiguration="" 
        address="http://example.com/MyService.svc"
          contract="IService" /&gt;
      &lt;/client&gt;
      &lt;behaviors&gt;
        &lt;serviceBehaviors&gt;
          &lt;behavior&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;endpointBehaviors&gt;
          &lt;behavior name="webHttpBinding"&gt;
            &lt;webHttp/&gt;
          &lt;/behavior&gt;
        &lt;/endpointBehaviors&gt;
      &lt;/behaviors&gt;
      &lt;serviceHostingEnvironment multipleSiteBindingsEnabled="false" /&gt;
    &lt;/system.serviceModel&gt;
    &lt;system.webServer&gt;
         &lt;modules runAllManagedModulesForAllRequests="true"&gt;
        &lt;remove name="WebDAVModule" /&gt;
      &lt;/modules&gt;
      &lt;handlers&gt;
        &lt;remove name="WebDAV" /&gt;
        &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /&gt;
        &lt;remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /&gt;
        &lt;remove name="ExtensionlessUrlHandler-Integrated-4.0" /&gt;
        &lt;add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /&gt;
        &lt;add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /&gt;
        &lt;add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /&gt;
      &lt;/handlers&gt;
      &lt;httpProtocol&gt;
        &lt;customHeaders&gt;
          &lt;!-- Enable Cross Domain AJAX calls --&gt;
          &lt;add name="Access-Control-Allow-Origin" value="*" /&gt;
          &lt;add name="Access-Control-Allow-Headers" value="Content-Type, Authorization, Accept, X-Requested-With" /&gt;
          &lt;add name="Access-Control-Allow-Methods" value="OPTIONS, TRACE, GET, HEAD, POST, PUT" /&gt;
        &lt;/customHeaders&gt;
      &lt;/httpProtocol&gt;
    &lt;/system.webServer&gt;
  </code></pre>
  
  <p>So I've read a few articles and added relevant sections, removing WebDav but nothing seems to make a difference. </p>