#biztalk #continuations
#biztalk #продолжения
Вопрос:
Я разработал приложение BizTalk. Он получает XML-файл и, после применения бизнес-логики, отправляет файл в другое местоположение с помощью ФАЙЛОВОГО адаптера. Мне нужно отслеживать время начала и окончания как для порта приема, так и для порта отправки. Я создал действия и просмотр BAM и создал профиль отслеживания с помощью редактора профиля отслеживания. Я использовал идентификатор обмена в качестве токена идентификатора продолжения.
Проблема в том, что при отслеживании BAM я получаю две строки, одну для порта приема, а вторую для порта отправки. Продолжение между портом приема и отправки не работает.
Комментарии:
1. Поскольку вы не предоставили нам подробностей о том, как вы его настроили, было бы довольно сложно сказать, что не так.
Ответ №1:
Продолжение не работает, скорее всего, потому, что InterchangeId естественным образом не продвигается.
Небольшая проблема, с которой вы сталкиваетесь, заключается в том, что нет естественно продвигаемого свойства, которое можно использовать из коробки для этого.
Самым простым решением было бы создать пользовательский компонент конвейера, который продвигает InterchangeId (то же свойство, только повышенное). Затем ваш профиль отслеживания должен начать работать.
К вашему сведению, на данный момент вам действительно не нужен BAM, поскольку довольно легко запросить отслеживание напрямую, используя то же самое повышенное свойство (что, по сути, и делает BAM, используя немного другой путь).
Ответ №2:
Идентификатор обмена будет присутствовать в контексте сообщения. Не могли бы вы, пожалуйста, подтвердить, что вы сопоставили порты приема и отправки с продолжениями в редакторе профиля отслеживания. Обратитесь к статье https://www.biztalk-server-tutorial.com/2013/02/08/how-to-enable-bam-continuation-between-receive-send-ports-using-tracking-profile-editor/ в котором показаны шаги по правильному добавлению продолжения.