|
ServiceException
|
|||
---|---|---|---|
#18+
Всем привет! Как из 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> ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 18:24 |
|
ServiceException
|
|||
---|---|---|---|
#18+
<serviceDebug includeExceptionDetailInFaults="true" /> если хотите программно, то юзайте FaultException ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 19:30 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Не срабатывает FaultException. Возвращает - ServiceException catch (FaultException e) { return "test"+e.Message; } catch (WebException e) { return e.Message; } catch (Exception e) { return e.Message; } ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 21:10 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, а ты в сервисе FaultException выбрасываешь? Или можно FaultContract реализовать, если хочешь свой тип ошибки. Полно примеров в сети. Вот например Exception Handling in WCF using Fault Contract ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 21:33 |
|
ServiceException
|
|||
---|---|---|---|
#18+
bured, Я просто хочу получить текст и код ошибки из ServiceException. Как это сделать? Можешь помочь пример с кодом? FaultContract мне пока не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 22:38 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, Я пишу клиентскую часть ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 23:06 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, в вебметоде сервиса выбрасывайте FaultException с заполнением reason и message. Тогда на клиенте его можно будет отловить в блоке catch (FaultException e) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2011, 23:43 |
|
ServiceException
|
|||
---|---|---|---|
#18+
bured, Я не могу редактировать WebService. Он написан на Java и у меня нет доступа к сервису. Вижу, что сервис формирует сообщение об ошибке (пример в начале сообщения), но я не умею его перехватывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 00:17 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, А [ServiceBehavior(IncludeExceptionDetailInFaults=true)] у Вас на сервисе имеется? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 09:17 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, Тогда похоже не получится получить ничего более информативного чем у Вас есть сейчас. Вот цитатка из букваря: "Если необходимо передать клиенту информацию об исключении, то можно воспользоваться свойством IncludeExceptionDetailInFaults поведения ServiceDebugBehavior." http://msdn.microsoft.com/ru-ru/library/system.servicemodel.description.servicedebugbehavior.includeexceptiondetailinfaults.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 10:01 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, А в классе Exception InnerException смотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 10:38 |
|
ServiceException
|
|||
---|---|---|---|
#18+
D129, Можно пример ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 10:53 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1Можно пример ? Как-то так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 10:59 |
|
ServiceException
|
|||
---|---|---|---|
#18+
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; } ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 13:07 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, Все же спрошу, какой из катчей перехватывает исключение? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 13:45 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Lexxxxx, Exception, а иначе текст ошибки бы начинался со слова "test" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 13:51 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, А нельзя ли попросить владельца сервиса включить includeExceptionDetailInFaults? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 13:59 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1Чудо не произошло :( Ну значит сервис не цепляет эксепшен к ответу. А то, что вы получаете - вообще клиент рожает (наверное). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 14:57 |
|
ServiceException
|
|||
---|---|---|---|
#18+
D129, WireShark-ом снимал трейс. Сервак отвечает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 15:34 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, Отвечать-то отвечает, а вот цепочку эксепшенов похоже не дает. Еще есть диагностика самого WCF, в аппконфиге клиента можно включить.... посмотреть что там. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 15:52 |
|
ServiceException
|
|||
---|---|---|---|
#18+
D129, Сорри как ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 15:53 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1D129, Сорри как ? Но это не программно... хотя почти наверняка есть способ перехватить эту деятельность.... В студии - правый клик на апп.конфиг - Edit WCF configuration - откроется формочка с деревом - и одна из ветвей дерева будет Diagnositic. Там надо включить трейсинг - в трейсинг пишутся сообщения обо всех ошибках. Указать или запомнить имя файла - куда это будет писаться. Запустить клиента, в его рабочей директории появится хмл файл - он имеет расширение привязанное специальному просмотрщику - тоже наверное из студии - и можно найти - ошибки помечаются красным цветом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 17:23 |
|
ServiceException
|
|||
---|---|---|---|
#18+
D129, Зачем :) Я трейсы снял на сетевом уровне. Там все видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 17:59 |
|
ServiceException
|
|||
---|---|---|---|
#18+
Testor1, если у вас нет доступа к сервису - это разговор ни о чём. Больше чем он вам присылает вы не получите. В вашей xml <faultdetail xmlns="">Found 0 cases for method=apiProxyMethod; tn=bbb</faultdetail>. Возможно этого будет достаточно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.06.2011, 18:30 |
|
|
start [/forum/topic.php?fid=19&fpage=20&tid=1397428]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 436ms |
0 / 0 |