powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сообщение об oшибке из Web Method
12 сообщений из 12, страница 1 из 1
Сообщение об oшибке из Web Method
    #33862274
EvgenyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, привет!
Может кто сталкивался с проблемой: сервис выбрасывает сообщение об ошибке которое содержит лишнюю информацию?

Метод бросает ошибку "MY_MESSAGE", а клиент получает во что:
Код: plaintext
1.
2.
System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Exception: MY_MESSAGE
   at MyClass.TestWebService.ThrowSystemEx(String message) in D:\test\VC.NET\WindowsApplication18\MyClass\TestWebService.cs:line  22 
   --- End of inner exception stack trace ---

Как с этим бороться?

Заранее спасибо,
Евгений
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862290
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем бороться-то?--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862318
EvgenyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Если ты выбрасываешь сообещение "Пошел на фиг!" ты хочешь, чтобы это сообщение дошло до того, кому надо туда идти в точности как ты его послал?!! А то он не на фиг уйдет, а ... :)
2. А кроме того, я не хочу, чтобы по сети передавался stack trace!!!

Я бы сказал, что пункт 2 важнее даже, чем 1, потому что 1 можно как-то побороть путем string parse, а вот stack trace - это возможность получить информацию о внутренностях твоей проги, хоть и не большую, но определенную!

Спасибо
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862333
Wellick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, EvgenyV, Вы писали:

EV>Народ, привет!
EV>Может кто сталкивался с проблемой: сервис выбрасывает сообщение об ошибке которое содержит лишнюю информацию?

Можно обернуть весь Web-метод в try...catch и в catch'е бросать свой SoapException, содержащий только то, что нужно.... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862370
EvgenyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Но проблема в том, что web method выбрасывает SoapException сам, по умолчанию. То есть даже если я пишу
Код: plaintext
throw new Exception(message);
то клиент все равно получает SoapException. Я знаком с этой техникой, при которой строится своя секция <detail></detail>. Но информация о stack, тем не менее все равно присутствует.
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862398
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паранойя - вот с чем бороться надо
--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862419
Wellick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgenyVСпасибо!
Но проблема в том, что web method выбрасывает SoapException сам, по умолчанию. То есть даже если я пишу
Код: plaintext
throw new Exception(message);
то клиент все равно получает SoapException. Я знаком с этой техникой, при которой строится своя секция <detail></detail>. Но информация о stack, тем не менее все равно присутствует.

Извините, RSDN подвис, так что пишу как гость :)
Идея именно в том, чтобы из WS бросать свой SoapException. Тогда в него не помещается ваш Exception в качестве внутреннего (Inner).

Только что проверил - StackTrace на стороне клиента есть, но он относиттся только к _клиенту_. Поле InnerException пустое.
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862468
EvgenyV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wellick, спасибо!
Мне все же не понятно почему для такой ерунды нужно писать код...
Но это уже не вопрос, а так ... :)

Dkms,
Скажи это клиенту, который заплатил кучу бабок и хочет, чтобы его система была безопасной :). Кстати, я с тобой не согласен. Может и обфускацию кода тоже параноики пользуют?

Но это уже не по теме беседа.

Спасибо
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862472
Wellick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EvgenyVWellick, спасибо!
Мне все же не понятно почему для такой ерунды нужно писать код...
Но это уже не вопрос, а так ... :)
Ну, чисто философски: либо один (включение в SoapException стэк-трэйса сервера), либо другой (SoapException без стэк-трэйса) вариант надо было принять за дефолтный. Решили остановиться на первом. Как видите, есть люди, которых это нисколько не смущает :)
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862491
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Может и обфускацию кода тоже параноики пользуют?

Конечно. Ну, и ещё у которых мания величия.

--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862518
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если не просто умничать на предмет Microsoft must die, а чуть-чуть подумать, то можно сообразить и скомпилить сервис без отладочной информации.
При этом сообщение об ошибке на клиенте выглядит примерно вот как:
 ---> Не удалось завершить эту операцию. Повторите попытку.
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at WssTree.WssaSvc.WssaService.GetWssSites(String WssVSUrl)
   at WssTree.TreeForm.ExpandWSSVirtualServer(TreeNode node)

При этом две последние строчки - клиентские.--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
Сообщение об oшибке из Web Method
    #33862524
Wellick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь есть один тонкий момент: SoapException - это несколько больше чем просто эксепшн, выбрасываемый из метода WS. Посмотрите, например, на его конструктор(ы) :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сообщение об oшибке из Web Method
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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