HTTP HEAD Requests get 405 HTTP error when access SOAP Web Services


 


Most people are familiar with HTTP GET and POST requests. But actually HEAD is another useful verb.


HEAD Request and 405 Problem


Below is the response from an IIS 6 server using WFetch.


1.jpg


Note that the response only contains header information, so it is really a neat way to check site availability.


Here comes the question. Why such requests fail to query information about ASMX files on one of my IIS 6 server?



2.jpg 


Analysis Progress


For 405 status code, you may think that HEAD verb is disabled in IIS settings. But actually I have everything set up correctly. Take a look of my IIS Manager,


3.jpg



As I don’t have any third party ISAPI filter or other IIS extension installed, it is really hard to understand the reason, isn’t it?


Some people will suggest I test on IIS 7. Actually the result is the same. Even failed request tracing does not provide much information. The status code seems to be returned from within .NET Framework. So there must be a reason.


The Answer


Well, finally I decided to go back to ABC and started to digest the SOAP protocol itself, and BLAH, the answer is there!


 




















Problem with Message


HTTP Status Code


HTTP Reason Phrase (informative)


Malformed Request Message


400


Bad request


HTTP Method is neither POST nor GET


405


Method Not Allowed


Unsupported message encapsulation method


415


Unsupported Media


 


Because any SOAP implementation honors the protocol itself and conforms to its requirements, ASP.NET web service as an SOAP implementation for .NET platform also follows the rules and returns 405 for HEAD requests.


Regards,


Lex Li 


 

Comments (0)

Skip to main content