Пользовательский компонент конвейера BizTalk разбирается без схемы документа

Я собираюсь проанализировать и отформатировать ввод плоского файла на основе бизнес-логики, хранящейся в таблицах базы данных сервера SQL. У меня нет схемы документа для ввода. Я написал C# пользовательский класс компонентов для дизассемблирования. Когда я использую пользовательский компонент на этапе дизассемблирования в приемном конвейере, я получаю ошибку схемы документа не найдена.

Кто-нибудь сталкивался с такой же ситуацией и обращался с ней по-другому?,

1 ответ

BizTalk маршрутизирует сообщения, используя свойство MessageType (пространство имен + имя корневого узла XML в сообщении) в контекстной части сообщения. У вас нет этого с вашим дизайном, поэтому он не знает, что с ним делать.

Вы можете:

  • обрабатывать каждый тип плоского файла отдельно, анализируя и назначая уникальный тип сообщения
  • разделить содержимое на один тип сообщения
  • оберните содержимое файла в "конверт"

Вам нужно будет создать схему для любого из этих вариантов.

Пространства имен и маршрутизация - отличный способ обрабатывать изменения в файловой структуре. Если вы включите версию файла в пространство имен, BizTalk может направить сообщение к коду, который обрабатывает такого рода сообщения для вас. Вы можете продолжать обрабатывать сообщения старого стиля, а также новые форматы. Мы ведем пилотные программы таким образом.

Другие вопросы по тегам