Я звоню в веб-службу json, которая отправляет сообщения об ошибках, устанавливая StatusCode равным 500, а затем отправляя сообщение об ошибке в виде текста ответа (например, {"Message": "InvalidUserName"}).
Проблема заключается в том, чтоASP.NET не дает мне текст ответа, если веб-служба отправляет код состояния 500.
try
{
WebRequest request = WebRequest.Create(URL);
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string result = streamReader.ReadToEnd();
streamReader.Close();
response.Close();
return result;
}
catch (Exception e)
{
// If web service sends 500 error code then we end up here.
// But there is no way to get response text :-(
}
Есть ли способ решить эту проблему?Кроме того: я контролирую веб-службу, поэтому может стать решением для их изменения.(Примечание: мне нужно вызывать службу, используя простой материал WebRequest - в этом случае он не будет работать с другими методами, такими как добавление как WebReference и т. Д.)
Есть идеи?