В Fiddler я могу передать запрос и получить ответ 500. Отлично, я хочу, чтобы мой .NET-код обрабатывал это и анализировал ответное сообщение.В случае ниже есть значимое сообщение.Тем не менее, используя HttpWebRequest и HttpWebResponse, я не могу получить эту информацию.
Вот ответ Fiddler:
HTTP/1.1 500 Internal Server Error
Date: Sun, 25 Mar 2012 15:50:31 GMT
Transfer-Encoding: chunked
Content-Type: text/xml; charset=ISO-8859-1
X-Powered-By: Servlet/2.5 JSP/2.1
010e
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><soap:Fault><faultcode>soap:Client</faultcode><faultstring>WSS header is missing from request. Can't do username token authentication.</faultstring></soap:Fault></soap:Body></soap:Envelope>
0000
Вот мой код, который пытается перехватить исключение:
try
{
HttpWebResponse resp2 = (HttpWebResponse) req.GetResponse();
}
catch (WebException ex)
{
WebException we = (WebException) ex;
HttpWebResponse respp = (HttpWebResponse) we.Response;
log.Info((int)respp.StatusCode);
log.Error(ex.ToString());
}
Я просто не могу получить больше ничего от объекта исключения.Но я знаю, что ответ должен быть читабельным.Надеюсь, что я могу использовать http-классы более низкого уровня, о которых сейчас просто не знаю.Я не хочу, чтобы .NET защищал меня от настоящих протоколов HTTP.