BizTalk BAM - Как отслеживать разделенные сообщения

Я хочу, чтобы BAM показывал

  • IntegrationStart
  • MessageType
  • Наименование услуги
  • ServiceStart
  • ServiceEnd
  • IntegrationDuration

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

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

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

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

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

2 ответа

Решение

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

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

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

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

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

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