powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / ServiceException
25 сообщений из 32, страница 1 из 2
ServiceException
    #37295618
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Как из c# получить код и текст исключения ServiceException

При попытке использовать SoapException поле Message всегда возвращает ServiceException, а не реальный текст ошибки

<?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV=" http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>ServiceException</faultstring><detail><ServiceException xmlns=" http://bla/api"><faultcode xmlns="">ER000</faultcode><faultdetail xmlns="">Found 0 cases for method=apiProxyMethod; tn=bbb</faultdetail></ServiceException></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
...
Рейтинг: 0 / 0
ServiceException
    #37295676
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<serviceDebug includeExceptionDetailInFaults="true" />

если хотите программно, то юзайте FaultException
...
Рейтинг: 0 / 0
ServiceException
    #37295741
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не срабатывает FaultException. Возвращает - ServiceException

catch (FaultException e)
{
return "test"+e.Message;
}
catch (WebException e)
{
return e.Message;
}
catch (Exception e)
{
return e.Message;
}
...
Рейтинг: 0 / 0
ServiceException
    #37295762
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

а ты в сервисе FaultException выбрасываешь?

Или можно FaultContract реализовать, если хочешь свой тип ошибки. Полно примеров в сети. Вот например Exception Handling in WCF using Fault Contract
...
Рейтинг: 0 / 0
ServiceException
    #37295860
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bured,

Я просто хочу получить текст и код ошибки из ServiceException.

Как это сделать?
Можешь помочь пример с кодом? FaultContract мне пока не нужен.
...
Рейтинг: 0 / 0
ServiceException
    #37295908
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Testor1,

Я пишу клиентскую часть
...
Рейтинг: 0 / 0
ServiceException
    #37295967
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

в вебметоде сервиса выбрасывайте FaultException с заполнением reason и message. Тогда на клиенте его можно будет отловить в блоке catch (FaultException e)
...
Рейтинг: 0 / 0
ServiceException
    #37296011
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bured,

Я не могу редактировать WebService. Он написан на Java и у меня нет доступа к сервису.
Вижу, что сервис формирует сообщение об ошибке (пример в начале сообщения), но я не умею его перехватывать.
...
Рейтинг: 0 / 0
ServiceException
    #37296218
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

А [ServiceBehavior(IncludeExceptionDetailInFaults=true)] у Вас на сервисе имеется?
...
Рейтинг: 0 / 0
ServiceException
    #37296234
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lexxxxx,

Нет.
...
Рейтинг: 0 / 0
ServiceException
    #37296275
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

Тогда похоже не получится получить ничего более информативного чем у Вас есть сейчас.
Вот цитатка из букваря:
"Если необходимо передать клиенту информацию об исключении, то можно воспользоваться свойством IncludeExceptionDetailInFaults поведения ServiceDebugBehavior."
http://msdn.microsoft.com/ru-ru/library/system.servicemodel.description.servicedebugbehavior.includeexceptiondetailinfaults.aspx
...
Рейтинг: 0 / 0
ServiceException
    #37296365
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

А в классе Exception InnerException смотрели?
...
Рейтинг: 0 / 0
ServiceException
    #37296399
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,

Можно пример ?
...
Рейтинг: 0 / 0
ServiceException
    #37296408
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Можно пример ?

Как-то так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
catch (Exception ex)
{

   string error = ex.Message;

   if (ex.InnerException != null) // А оно может!
   {
       error += ex.InnerException.Message;
    }

   MessageBox.Show(error);

}

[SIZE=1]Ну там не учу вас пользоваться Stringbuilder ом....[/SIZE]
...
Рейтинг: 0 / 0
ServiceException
    #37296663
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,

Результат - ServiceException
Чудо не произошло :(

catch (FaultException e)
{
return "test"+e.Message;
}

catch (Exception ex)
{

string error = ex.Message;

if (ex.InnerException != null) // А оно может!
{
error += ex.InnerException.Message;
}

return error;

}
...
Рейтинг: 0 / 0
ServiceException
    #37296736
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

Все же спрошу, какой из катчей перехватывает исключение?
...
Рейтинг: 0 / 0
ServiceException
    #37296747
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lexxxxx,

Exception, а иначе текст ошибки бы начинался со слова "test"
...
Рейтинг: 0 / 0
ServiceException
    #37296763
Lexxxxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

А нельзя ли попросить владельца сервиса включить includeExceptionDetailInFaults?
...
Рейтинг: 0 / 0
ServiceException
    #37296878
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Чудо не произошло :(

Ну значит сервис не цепляет эксепшен к ответу.

А то, что вы получаете - вообще клиент рожает (наверное).
...
Рейтинг: 0 / 0
ServiceException
    #37296994
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,

WireShark-ом снимал трейс. Сервак отвечает.
...
Рейтинг: 0 / 0
ServiceException
    #37297048
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

Отвечать-то отвечает, а вот цепочку эксепшенов похоже не дает.

Еще есть диагностика самого WCF, в аппконфиге клиента можно включить.... посмотреть что там.
...
Рейтинг: 0 / 0
ServiceException
    #37297052
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,

Сорри как ?
...
Рейтинг: 0 / 0
ServiceException
    #37297291
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1D129,

Сорри как ?

Но это не программно... хотя почти наверняка есть способ перехватить эту деятельность....

В студии - правый клик на апп.конфиг - Edit WCF configuration - откроется формочка с деревом - и одна из ветвей дерева будет Diagnositic. Там надо включить трейсинг - в трейсинг пишутся сообщения обо всех ошибках. Указать или запомнить имя файла - куда это будет писаться.

Запустить клиента, в его рабочей директории появится хмл файл - он имеет расширение привязанное специальному просмотрщику - тоже наверное из студии - и можно найти - ошибки помечаются красным цветом.
...
Рейтинг: 0 / 0
ServiceException
    #37297396
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D129,

Зачем :)
Я трейсы снял на сетевом уровне. Там все видно.
...
Рейтинг: 0 / 0
ServiceException
    #37297464
Фотография bured
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

если у вас нет доступа к сервису - это разговор ни о чём. Больше чем он вам присылает вы не получите.

В вашей xml <faultdetail xmlns="">Found 0 cases for method=apiProxyMethod; tn=bbb</faultdetail>. Возможно этого будет достаточно.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / ServiceException
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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