Project DescriptionA set of tools to enable/disable or report on tracking options for BizTalk artifacts like ports, pipelines and orchestrations.
- exporter creates an XML file with currently tracking settings.
- importer takes (the same) XML file and set the tracking options.
Exporting
The exporting utility takes the following parameters:
Usage: BTSGetTrackingOptions.exe <TrackingOptionsFile> [-srv:server] [-db:MgmtDb]
[-a:app] [-r:receivePort] [/s:sendPort] [-o:orchestration] [-p:pipeline]
where
TrackingOptionsFile : xml file to export tracking options to
srv : Sql server
db : Management database e.g. BizTalkMgmtDb
a : Application name
r : Receive port name
s : Send port name
o : Orchestration name
p : Pipeline name
Importing
The importing utility takes the following parameters
Usage: BTSSetTrackingOptions.exe <TrackingOptionsFile> [-s:server] [-d:database]
where
TrackingOptionsFile : xml file containing tracking options
-s : Sql server
-d : Management database e.g. BizTalkMgmtDb
XML file structure
The basic structure of the XML looks like this:
// Sample XML
<trackingOptions>
<application name="Appname">
<receivePorts>
<receivePort name="*">
<tracking>
<remove />
<add key="*"/>
</tracking>
</receivePort>
</receivePorts>
<sendPorts>
<sendPort name="*">
<tracking>
<remove />
<add key="*" />
</tracking>
</sendPort>
</sendPorts>
<orchestrations>
<orchestration name="*">
<tracking>
<remove />
<add key="*"/>
</tracking>
</orchestration>
</orchestrations>
<pipelines>
<pipeline name="*">
<tracking>
<remove />
<add key="*"/>
</tracking>
</pipeline>
</pipelines>
</application>
</trackingOptions>
Tracking option values
The following values are allowed for receive ports (one way):
- BeforeReceivePipeline
- AfterReceivePipeline
- BeforeSendPipeline (only allowed on bidirectional ports)
- AfterSendPipeline (only allowed on bidirectional ports)
- TrackPropertiesBeforeReceivePipeline
- TrackPropertiesAfterReceivePipeline
- TrackPropertiesBeforeSendPipeline (only allowed on bidirectional ports)
- TrackPropertiesAfterSendPipeline (only allowed on bidirectional ports)
The following values are allowed for send ports:
- BeforeReceivePipeline (only allowed on bidirectional ports)
- AfterReceivePipeline (only allowed on bidirectional ports)
- BeforeSendPipeline
- AfterSendPipeline
- TrackPropertiesBeforeReceivePipeline (only allowed on bidirectional ports)
- TrackPropertiesAfterReceivePipeline (only allowed on bidirectional ports)
- TrackPropertiesBeforeSendPipeline
- TrackPropertiesAfterSendPipeline
The following values are allowed for orchestrations:
- ServiceStartEnd
- MessageSendReceive
- InboundMessageBody
- OutboundMessageBody
- OrchestrationEvents
- TrackPropertiesForIncomingMessages
- TrackPropertiesForOutgoingMessages
The following values are allowed for pipelines:
- ServiceStartEnd
- MessageSendReceive
- InboundMessageBody
- OutboundMessageBody
Wildcards
Wildcard characters are allowed during importing. For example, if you specify <add key="*" /> it means all tracking options for the specified object will be enabled. Removes are done before adds - e.g. if you specify the following <remove key="*" /><add key=" * "/> the utility will first remove all tracking options and then add it again. Adding only adds tracking options - it does not reset existing enabled tracking options.
The following XML will disable all tracking in all applications:
<trackingOptions>
<application name="*">
<receivePorts>
<receivePort name="*">
<tracking>
<remove key="*"/>
</tracking>
</receivePort>
</receivePorts>
<sendPorts>
<sendPort name="*">
<tracking>
<remove key="*" />
</tracking>
</sendPort>
</sendPorts>
<orchestrations>
<orchestration name="*">
<tracking>
<remove key="*"/>
</tracking>
</orchestration>
</orchestrations>
<pipelines>
<pipeline name="*">
<tracking>
<remove key="*"/>
</tracking>
</pipeline>
</pipelines>
</application>
</trackingOptions>
Tracking viewer
The third tool is a simple viewer that display the currently selected tracking options.
BizTalk version support
All tools use only the .Net 2.0 framework so it can be compatible with BizTalk 2006 (not R2). Tools has been tested on BizTalk 2006, 2006 R2 and 2009.
Tools reference the Microsoft.BizTalk.ExplorerOM assembly. This means that it must be run on a machine with BizTalk installed plus it must be the same version of the product as the BizTalk group you are connecting to.
BizTalk ExplorerOM issue
Due to a limitation of the ExplorerOM assembly that is only supported under 32bit the utilities must be build with the target platform set to x86. This means they will still run on a 64bit machine but in 32bit mode.