Объединение нескольких сообщений с помощью адаптера SQL BizTalk 2006

У меня есть StoredProcedure, которая возвращает простую таблицу, содержащую несколько записей:

ОБЪЯВЛЕНИЕ @STEPS_TABLE КАК ТАБЛИЦА (уникальный идентификатор OrchestrationID, [Сообщение] nvarchar (1000));

- ЗАГРУЗКА ЗНАЧЕНИЙ ЗДЕСЬ

ВЫБЕРИТЕ * ИЗ @STEPS_TABLE в качестве шага ДЛЯ XML AUTO, XMLDATA, ELEMENTS

Я использовал мастер создания схемы транспорта SQL для создания схемы и смог правильно настроить порт. Если я использую эту схему в своей оркестровке, она отлично работает. BizTalk запускает один экземпляр оркестровки каждый раз, когда в @STEPS_TABLE имеется более одной записи.

Читая техническую документацию Microsoft, они рекомендуют получать несколько сообщений за один вызов, а затем использовать конвейер XML для преобразования многострочного сообщения BizTalk в однорядное сообщение BizTalk.

Я раньше не использовал конвейер XML, поэтому попробовал описанные шаги, но не смог заставить его работать.

Может ли кто-нибудь дать мне ссылку на «как сделать» (ничего не нашел до сих пор, после нескольких часов поиска) или дать мне несколько советов, как добиться успеха.

Заранее спасибо.


person Klaus Stefan Gerber    schedule 22.10.2012    source источник


Ответы (1)


... через несколько часов я смог разобраться сам. Так что, если кто-то столкнется с той же проблемой, что и я, вот вам несколько рекомендаций, как заставить ее работать в вашей среде.

В конце я последовал другому пошаговому руководству от Microsoft и вообще отказался от рекомендаций по конвейеру. Найденная мною документация называется «Разборка наборов результатов с помощью адаптера SQL» и делает именно то, что я искал. Вы можете просто следовать всему пошаговому руководству от Microsoft, но избегать создания порта отправки и внести некоторые небольшие изменения в порт приема.

После ознакомления с техническим документом вы получите две схемы, я назову их сообщение и конверт (содержит несколько сообщений) для этого упражнения. В вашей оркестровке вы можете создать принимающий порт, который сопоставляется с сообщением, а затем, когда вы настраиваете его как порт SQL и связываете его со своей хранимой процедурой (или оператором выбора), вам нужно только изменить имя корневого элемента документа на корневое имя конверта; конвейер приема XML (предоставляемый по умолчанию в BizTalk 2006) выполняет магию дизассемблирования сообщений, содержащихся в конверте, и создания экземпляра оркестровки для каждого сообщения.

Пошаговое руководство Microsoft «Разборка наборов результатов с помощью адаптера SQL» можно найти в разделе:

http://msdn.microsoft.com/en-us/library/aa562098(v=bts.20).aspx

Миссия выполнена :)

person Klaus Stefan Gerber    schedule 23.10.2012
comment
Спасибо ... придется подождать 3 часа ...;) - person Klaus Stefan Gerber; 24.10.2012