Extracting Message From BizTalk Tracking Database

I got a scenario, where the need was to get message processed by BizTalk Server 2006. After some googling, I came accross a good post from Thiago Almeida. According to Thiago, there are three methods of extracting message body from BizTalk Server.

  1. BTSDBAccessor.dll
    This DLL, the BizTalk Database Acessor, is unmanaged and does a lot of work for BizTalk including accssing the BizTalk databases to send and receive messages.

  2. SQL
    The bts_GetTrackedMessageParts stored procedure inside the tracking database expects the message GUID and will return the compressed message data back. We can then use reflection to invoke the Decompress method of the Microsoft.BizTalk.Message.Interop.CompressionStreams class inside Microsoft.BizTalk.Pipeline.dll to decompress the data returned from SQL..

  3. WMI
    Use the WMI MSBTS_TrackedMessageInstance. SaveToFile method to save the instance to disk. This was the popular method in BizTalk 2004 since there was no operations dll then.

All we need to get message from tracking database are message guid, tracking db name and server.

Via : 3 ways of programmatically extracting a message body from the BizTalk tracking database


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: