In the "Building Integration Solutions using BizTalk On-Premises and on Azure" on TechEd 2012 (video.ch9.ms/teched/2012/na/AZR211.pptx) is noted “ESB Toolkit as core part of BizTalk setup and product”. So I was very curious if the ESB toolkit already is implemented in the July 2012 CTP release of BizTalk 2010 R2. After configuring the BizTalk 2010 R2 virtual machine in Windows Azure I searched for the ESB toolkit but it’s not yet a part of the BizTalk setup and not on the VM. But why not installing the ESB Toolkit 2.1?

 

Steps

Installing the ESB Toolkit on a BizTalk machine is sometimes a challenge. I used the Installation Guide to install the core components:

1 Install the %u200b”BizTalk ESB Toolkit 2.1-x64.msi” to install the %u200bMicrosoft BizTalk ESB Toolkit and the necessary registry entries

 

2) Import the "Microsoft.Practices.ESB.CORE64.msi" in the BizTalk Server Administration Console

 

3) Configure the BizTalk ESB Toolkit Core services and components with ESB Configuration Tool in the bin directory (ESBConfigurationTool.exe)

 

4) Install the ESBSource.zip from the installation location to install the ESB Toolkit Sample Applications

 

Test the ESB Toolkit installation

To test the installation I used a small BizTalk project with 2 schemas and a map to create a BizTalk application. To send a message to one off the on-ramps that are provided by the BizTalk ESB Toolkit I used the sample “GlobalBank.ESB.Samples.Itinerary” application.

You can open the sample with Visual Studio 2012 and upgrade the projects in the solution to the new version of Visual Studio.

 

Run the Itinerary Test Client to send a message with an itinerary to the ESB.ItineraryServices on-ramp.

Test Results

first the good news, it is possible to install the ESB Toolkit 2.1 on BizTalk 2010 R2 and you can use it to route a message to an off-ramp. I think it’s also possible to use orchestrations to extend the ESB toolkit but I didn’t test that feature. But the bad news is that you can’t use maps to transform a message!  Using the TransformationService in an itinerary I’ve got the following error:

Method not found: ‘System.Xml.Xsl.XslTransform Microsoft.XLANGs.RuntimeTypes.TransformMetaData.get_Transform()’.

Source: Microsoft.Practices.ESB.PipelineComponents.DispatcherDisassemble

I compared the “get_Transform()” method in the old and the new Microsoft.XLANGs.RuntimeTypes.TransformMetaData assembly and the signatures are not the same!

The result type in BizTalk 2010 it’s “XslTransform” and in BizTalk 2010 R2 is “XslCompiledTransform”. ESB toolkit 2.1 expects the old type resulting in the “Method not found” error.

To cut a long story short, We will have to wait for a new CTP!