XSLT map changes to not appear when re-deploying BizTalk Projects

I received the following e-mail from Joe, regarding a bug I found in BizTalk 2004 when developing maps with XSLT:

Hi! I was reading the post on ureader.com regarding a problem of not having XSLT changes show up when deploying a BT04 project when I saw your response (#2 of your listed solutions) about creating ‘a link from the root note of the source map to the root note of the destination map and delete the link to refresh the map.’ I was wondering if I could get a little clarification on exactly how you created the link. Any thoughts would be greatly appreciated! Thanks! -Joe

The bug Joe is talking about here relates to changes to an XSLT file (with the BizTalk map using that file in the ‘Custom XSL Path’), which do not appear when you re-deploy a project.

As an example, say you have developed a solution using custom XSLT files for your BizTalk map. You test the map in VS and everything works ok, so you go ahead and deploy the project and again, everything works as expected in the runtime environment (say the map is on a Receive Port). However, you notice that the output from the map needs a minor amendment, so you go back into your XSLT, correct the problem and test the map again from within VS – everything works fine. You re-deploy the project and test in the runtime environment and bam, the map hasn’t changed – the changes that were made to the XSLT didn’t get picked up. Huh?

I originally noticed this bug in BizTalk 2004, but have just tested against 2006 (not R2) and can confirm that it is also present in this version. I believe that the bug (?) is due to the fact that the artifact that is compiled (i.e. the map) hasn’t changed, so Visual Studio doesn’t know that the project needs to be re-compiled (the output windows tells me that ‘the project is up-to date’, even though I know I’ve changed the XSLT and it therefore isn’t).

As a work around, I suggest that you open the BizTalk map (not the XSLT) and trick VS into thinking that the map has changed – i.e. create a single link from the source to the destination document (it doesn’t matter which element) and then delete the link. VS will pickup the change and force the project (and your XSLT changes) to be re-compiled.

Happy XSLT-ing!


4 thoughts on “XSLT map changes to not appear when re-deploying BizTalk Projects

  1. Why don’t you just use “Rebuild” option instead of “Build”. That will rebuild inspite of whether the resources are updated or not.

    I guess your approach is way too much work for just rebuilding.


  2. rebuild wouldn’t even, but instead, you can delete the path in map properties which points to xslt file and select the same xslt again and build, will solve the issue, this exists in BT 2010 as well.

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