Перехват приостановленного сообщения в BizTalk с помощью System.Exception
В моей оркестровке BizTalk я пытаюсь перехватить приостановленное сообщение на веб-сервере.
Я уже перехватил операцию при сбое сервера, моя следующая задача - перехватить сообщение в случае, если веб-сервер не работает. В настоящее время я использую ошибку System.Exception, чтобы поймать сообщение, затем я использую имя ошибки. Сообщение для вставки сообщения в таблицу журналов.
Этот процесс работает, но сообщение также все еще приостанавливается в BizTalk. Каков следующий шаг, чтобы сообщение не отображалось как приостановленное в BizTalk, поскольку у меня уже есть информация, которую я хочу получить из-за ошибки и записать в журнал?
2 ответа
Вам нужно включить Routing for Failed Message на порту и иметь другой порт отправки, который подписывается на сообщения об ошибках.
Использование ошибочной маршрутизации сообщений
Средство обработки ошибок позволяет разработчику назначить автоматическую обработку сбоев обмена сообщениями в качестве альтернативы традиционному (в настоящее время по умолчанию) поведению размещения ошибочных сообщений в очереди Suspended. Эта автоматизированная обработка направляет сообщение об ошибке любому подписчику, например, отправляющему порту или оркестровке. Сообщение об ошибке является клоном исходного сообщения, в котором все ранее повышенные свойства теперь понижены, а выбранные свойства связаны с конкретной ошибкой обмена сообщениями, добавленной в контекст сообщения.