How can I get my WCF service to communicate errors in a RESTful manner? Specifically, if the caller passes invalid query string parameters to my method, I’d like to have a 400 or 404 HTTP error returned to the user. When I search for HTTP error status in relation to WCF, all I can find are pages where people are trying to resolve errors they’re receiving. I’d rather not just throw a FaultException, because that gets converted to a 500 error, which is not the correct status code.
How can I get my WCF service to communicate errors in a RESTful manner?
Share
I found a helpful article here: http://zamd.net/2008/07/08/error-handling-with-webhttpbinding-for-ajaxjson/. Based on that, this is what I came up with:
This allows me to add a
[HttpErrors]attribute to my service. In my custom error handler, I can ensure that the HTTP status codes I’d like to send are sent.