Patrick Wellink has a solution where I use BAM to build a complete audit trail of a message flow.
Custom components write a message to a predefined BAM view whenever you want it to. Normal points where you would use
this functionality is in receive & send pipelines. And if an important business decision was made you could write that to the
audit trail as well. Below is an example of how to do this in an expression shape inside an orchestration.
Custom BAM and making it really work - Patrick Wellink