I just noticed while creating a RESTful WCF service that the Method parameter on the WebInvoke
attribute is case sensitive (CAPS required).
So,
[WebInvoke(Method = "Delete")]
is not equal to
[WebInvoke(Method = "DELETE")]
This mistake was causing a ProtocolException
:
System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (405) Method Not Allowed.
I was wondering is there a set of constants in the .NET framework that I should be using in place of "DELETE" in the above example. I could of course define my own set of constants, but if feels like something that probably exists in the framework and I am just missing it.