powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Клиент на C# получает 500 ошибку от веб-сервиса. Как прочитать???
3 сообщений из 3, страница 1 из 1
Клиент на C# получает 500 ошибку от веб-сервиса. Как прочитать???
    #38054488
sheich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю вызов веб-сервиса из C#.NET проекта:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
			Uri myUri = new Uri("http://server");
			WebRequest myWebRequest = HttpWebRequest.Create(myUri);
			HttpWebRequest myHttpWebRequest = (HttpWebRequest)myWebRequest;

			NetworkCredential myNetworkCredential = new NetworkCredential("test", "test");
			CredentialCache myCredentialCache = new CredentialCache();
			myCredentialCache.Add(myUri, "Digest", myNetworkCredential);

			myHttpWebRequest.PreAuthenticate = true;
			myHttpWebRequest.Credentials = myCredentialCache;

-->			HttpWebResponse response = (HttpWebResponse)request.GetResponse();

			Stream rs = response.GetResponseStream();
			StreamReader read = new StreamReader(rs);

			string results = read.ReadToEnd();



Сам сервис написан таким образом, что если происходит некая критичная ошибка (например, ошибка авторизации). Он в заголовке возвращает HTTP Status Code = 500 (Internal Server Error), в отличие от успешного результата = 200 (ОК). Но при этом все равно возвращает XML с полезной информацией - описанием ошибки.
Так вот. когда я тестирую сервис в SoapUI - все отлично: вижу и заголовки в RAW режиме и XML (несмотря на 500 ошибку).
Когда же пишу своими руками на .NET - в случае 500 ошибки все валится на указанной строке (request.GetResponse()) - Unhandled Exception ... И даже response.StatusCode прочитать нельзя...
А мне обязательно нужно видеть XML-ответ от сервиса даже в случае 500 ошибки, что бы знать - что именно не так.
Как же победить эту ситуацию?!... Оо
...
Рейтинг: 0 / 0
Клиент на C# получает 500 ошибку от веб-сервиса. Как прочитать???
    #38055309
Фотография Местный король Делфей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотрите класс FaultException, емнип там что-то было такое
...
Рейтинг: 0 / 0
Клиент на C# получает 500 ошибку от веб-сервиса. Как прочитать???
    #38058445
sheich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел...
Оказывается, в этом случае ответ попадает в Exception... мля:)
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
			try
			{
				WebResponse response = request.GetResponse();

				Stream rs = response.GetResponseStream();
				StreamReader read = new StreamReader(rs);

				string results = read.ReadToEnd();

				Xml.IncludeNode(xml.MakeNode("doc", results, null, null), r);
			}
			catch (WebException ex)
			{
-->				using (var str = ex.Response.GetResponseStream())
				using (var read = new StreamReader(str))
				{
					Console.WriteLine(read.ReadToEnd());
				}
			}
			catch (Exception ex)
			{
				Console.WriteLine(ex.Message);
			}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Клиент на C# получает 500 ошибку от веб-сервиса. Как прочитать???
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]