BizTalk BAM - Как я могу отслеживать разделенные сообщения - PullRequest
0 голосов
/ 27 марта 2012

Я хочу, чтобы в представлении BAM отображалось

  • IntegrationStart
  • MessageType
  • ServiceName
  • ServiceStart
  • ServiceEnd
  • IntegrationDuration

Сообщения поступают с одного порта приема и передаются в оркестровку, по одному сообщению на оркестровку, которая отправляет их службе WCF.

Я знаю, как решить этот сценарий, если у меня есть одно входящее сообщение, которое проходит весь путь (другой InterchangeID), но у меня есть пакет, который конвейер приема разделяет на отдельные сообщения (с тем же InterchangeID).

Я не могу использовать уникальное значение в сообщении, поскольку в пакете может быть более одного значения.

Думаю, мне нужно использовать Отношения, но как?

Какой идентификатор я могу связать?

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Посмотрите на это - http://generatetypedbamapi.codeplex.com. Сгенерированный API имеет методы для создания отношений между действиями и сделает большую часть работы за вас ...

Я бы посоветовал прочитать и эту книгу- http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470046422.html. Глава Даррена о БАМе особенно хороша и имеет четкие примеры ...

0 голосов
/ 08 апреля 2012

Я использовал реляционный корабль с interchangeID, и теперь все работает нормально.

Я также создал представление, поэтому мне не нужно было изменять уже созданные отчеты служб отчетов.

Когда у меня не было реляционного корабля, я мог получить «Нарушение первичного ключа», потому что движок Bam пытался внести записи с тем же ключом (после разделения в конвейере приема все сообщения имеют одинаковый interchangeID).

...