BizTalk BAM - How do I track split messages

1k Views Asked by At

I want the BAM view to show

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

The messages comes from one receive port and are passed to an orchestration, one message per orchestration, that sends them to a WCF service.

I know how to solve this scenario if I have one incoming message that goes all the way (different InterchangeID), but I have a batch that the receive pipeline split to individual messages (with the same InterchangeID).

I cannot use a unique value in the message, since there can be more than one in the batch.

I guess I need to use Relationship, but how?

What ID can I relate?

2

There are 2 best solutions below

0
On BEST ANSWER

I did use a relation ship, with the interchangeID, and now everything works fine.

I also created a view so I did not have to change my already created reporting services reports.

When I did not had the relation ship I could get "Violation of primary key",because Bam engine tried to put in records with the same key (after split in receive pipeline all messages have the same interchangeID).

1
On

Look at this - http://generatetypedbamapi.codeplex.com. The generated API has methods to create relationships between activities and will do a lot of the work for you...

I would suggest reading this book as well - http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470046422.html. Darren's chapter on BAM is especially good and has clear examples...