How to solve HTTP status 405 "Method Not Allowed" when calling Web Services

I found this was due to WCF not being installed on IIS. The main thing is that the .svc extension has to be mapped in IIS See MSDN here. Use the ServiceModelReg tool to complete the installation. You'll always want to verify that WCF is installed and .svc is mapped in IIS anytime you get a new machine or reinstall IIS.


I had the same problem, but the details were different:

The Url we were using didn't have the file (.asmx) part. Calling the Url in a browser was OK. It also worked in a simple client setting the URL through Visual Studio. But it didn't worked setting the Url dynamically! It gave the same 405 error.

Finally we found that adding the file part to the Web Service Url solved the problem. Maybe a .Net framework bug?


Ok, found what the problem was. I was trying to call a .wsdl url instead of .asmx url. Doh!