Estoy iniciando una HttpWebRequest y luego recupero su respuesta. Ocasionalmente, obtengo un error 500 (o al menos 5 ##), pero sin descripción. Tengo control sobre ambos extremos y me gustaría que el extremo receptor obtenga un poco más de información. Por ejemplo, me gustaría pasar el mensaje de excepción del servidor al cliente. ¿Es esto posible usando HttpWebRequest y HttpWebResponse?
Código:
try
{
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
webRequest.Method = WebRequestMethods.Http.Get;
webRequest.Credentials = new NetworkCredential(Username, Password);
webRequest.ContentType = "application/x-www-form-urlencoded";
using(HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
{
if(response.StatusCode == HttpStatusCode.OK)
{
// Do stuff with response.GetResponseStream();
}
}
}
catch(Exception ex)
{
ShowError(ex);
// if the server returns a 500 error than the webRequest.GetResponse() method
// throws an exception and all I get is "The remote server returned an error: (500)."
}
Cualquier ayuda con esto sería muy apreciada.