2017-01-11 3 views
0

Я звоню в XML WebService URL из C# с использованием стандартного кода WebRequest:Игнорировать коды отказа от WebRequest?

 WebRequest request = WebRequest.Create(MethodCall); 
     WebResponse response = request.GetResponse(); 
     Stream stream = response.GetResponseStream(); 
     StreamReader streamReader = new StreamReader(stream); 
     string xml = streamReader.ReadToEnd(); 

Служба в вопросе возвращает XML; в случае ошибок вы часто получаете XML-сообщение с подробной информацией об ошибке, однако также возвращает код ошибки HTTP 400. Запуск запроса через Chrome Я могу видеть XML и код ошибки в dev-tools, но мой C# код бросает .Net WebException в вызове GetResponse(), поэтому я не вижу подробных данных об ошибках.

Есть ли способ, которым я могу сказать .Net не бросать исключение, но все же сообщать код ошибки, поэтому я могу проверить возвращенный XML?

ответ

2

Изменение WebResponse response = request.GetResponse(); в

WebResponse response; 
try 
{ 
    response = request.GetResponse(); 
} 
catch (WebException ex) 
{ 
    response = (ex.Response as WebResponse); 
    if (response == null) 
     throw; 
} 

Это должно работать.

Смежные вопросы