Inicjuję HttpWebRequest, a następnie pobieram jego odpowiedź. Czasami otrzymuję błąd 500 (lub co najmniej 5 ##), ale nie ma opisu. Mam kontrolę nad obydwoma punktami końcowymi i chciałbym, aby odbiorca uzyskał trochę więcej informacji. Na przykład chciałbym przekazać komunikat o wyjątku z serwera do klienta. Czy jest to możliwe przy użyciu HttpWebRequest i HttpWebResponse?
Kod:
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)."
}
Jakakolwiek pomoc w tej sprawie byłaby bardzo mile widziana.