2012-01-25 3 views
0

Я хотел бы обработать EndpointNotFoundException в моей оркестровке.Catch EndpointNotFoundException в Biztalk 2010 Orchestration

добавить новый обработчик исключений

Область применения синхронизировано = ложь

тип объекта исключения = System.ServiceModel.EndpointNotFoundException (этот тип объекта не работает)

исключение тип объекта = система. ServiceModel.CommunicationException (этот тип объекта не работает)

тип объекта исключения = System.SystemException (этот тип объекта работал, который я не хочу)

Любая идея о том, как поймать такие исключения в оркестровке?

+0

Как вы знаете, блок поймать не работает? –

+0

Я пишу пользовательские сообщения об ошибках в средстве просмотра событий в каждом блоке catch, используя форму выражения. – MUS

+0

Итак, как вы знаете, какой тип исключения выбрасывается? –

ответ

2

Это, по-видимому, распространенная проблема - например, here и here. Я согласен с вами, если поймаю базовый System.Exception, что тип, который был пойман, - System.ServiceModel.EndpointNotFoundException с внутренним System.Net.WebException.

Хотя не отвечая на ваш вопрос, почему бы не отметить порт как Delivery Notification = Transmitted, а затем поймать DeliveryFailureException ?.

Таким образом, вы отмените настройку от конкретного адаптера (WCF), и если вы измените транспорт (или добавьте резервный транспорт и т. Д.), Обработка исключений по-прежнему будет работать.

Edit: Скотт Colestock упоминает hack to catch internal exceptions - что-то подобное может работать на первоначальное требование

+1

Уведомление о доставке, к сожалению, не будет работать с портом запроса-ответа. –