Конвейер Biztalk, который разбирает несколько схем плоских файлов

В моем проекте BizTalk мне нужен конвейер приема, который будет дизассемблировать четыре разных плоских файла, каждый из которых имеет уникальную схему. То есть конвейер должен динамически разрешать схему плоского файла, отправленного как 1 из 4 схем плоских файлов во время выполнения.

Лучший подход, который я слышал для этого, - это просто иметь 4 фигуры дизассемблирования плоских файлов на стадии дизассемблирования моего конвейера. Логика, лежащая в основе этого, заключается в том, что BizTalk будет проходить через дизассемблерные фигуры одну за другой, пока не сопоставит схему документа с одной из схем, обозначенных в компонентах дизассемблера - что-то вроде оператора if для типа схемы. Однако, независимо от того, через какой из 4 документов я прохожу, BizTalk, кажется, всегда хочет использовать самую первую схему в очереди в фигурах дизассемблирования конвейера.

Итак, мой вопрос (ы): может ли кто-нибудь более подробно объяснить, что происходит, когда в конвейер добавляется более одной формы дизассемблирования плоского файла? Есть ли лучшая альтернатива, чем этот подход?


person Bus    schedule 06.04.2014    source источник


Ответы (2)


То, как именно дизассемблер плоских файлов проверяет сообщения, не очень хорошо документировано. Однако обычно это не имеет значения, потому что, если это не сработает, ну, это просто не сработает в вашем случае.

Что вы можете сделать, так это обернуть дизассемблер плоских файлов и реализовать собственную, более надежную логику обнаружения.

Вот пример: http://biztalkxin.blogspot.com/2012/11/biztalk-2010-create-dynamic-flat-file.html.

person Johns-305    schedule 06.04.2014

Вы реализовали интерфейс IProbeMessage. Этот метод проверки интерфейса позволяет возвращать истину или ложь в зависимости от того, выполнение какого конвейера переходит к следующему компоненту конвейера.

person Vikas Bhardwaj    schedule 06.04.2014