Search code examples
wcfjsonwcf-clientwcf-rest

Accessing HTTP status code while using WCF client for accessing RESTful services


Thanks to this answer, I am now able to successfully call a JSON RESTful service using a WCF client. But that service uses HTTP status codes to notify the result. I am not sure how I can access those status codes since I just receive an exception on client side while calling the service. Even the exception doesn't have HTTP status code property. It is just buried in the exception message itself.

alt text

So the question is, how to check/access the HTTP status code of response when the service is called.


Solution

  • As a quick win, you can access the status code in the exception like this:

    try
    {
        client.DoSomething();  // call the REST service
    }
    catch (Exception x)
    {
        if (x.InnerException is WebException)
        {
            WebException webException = x.InnerException as WebException;
            HttpWebResponse response = webException.Response as HttpWebResponse;
            Console.WriteLine("Status code: {0}", response.StatusCode);
        }
    }
    

    Maybe there's a solution with a message inspector. But I haven't figured it out yet.