ASMX service works on development server, returns 404 when deployed to IIS 7.5

asmxasp.netiis-7

I have a web application in ASP.NET 4.0. I've added an asmx service, primarily as a source for the autocomplete extender's lookup values.

When I debug on my machine locally, everything works fine. However, when I deploy the web application to IIS 7.5, I get a HTTP 404 response when trying to send data to the service.

I am able to browse to the service definition, see the available operations. Tellingly, however, when I use the test pages to test the service using POST, I receive an HTTP 404 again.

I'm not sure what is going on. I did create the asmx file within my web application and it is deployed in the virtual directory of my otherwise working production application.

Is there an issue with the .asmx file being deployed in the same virtual directory, perhaps?

Best Answer

I've just encountered the same error, after stumbling over this SO entry:

Handlers returns 404 error on IIS7.5 integrated pipeline and

ASMX operation 404s, but ASMX service description doesn't, url routing issue?

and tried the solution of adding the asmx handler to the web.configs webServer section all was well:


  <system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules runAllManagedModulesForAllRequests="true"/>
    <handlers>
      <add verb="*" path="*.asmx" name="asmx" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>
  </system.webServer>