After getting my feet wet doing BizTalk development for about a year now, I found the following free tools quite useful during development / support lifecycle (Not necessarily in order of importance).

1. Fiddler

Very very useful to be able to monitor web traffic especially when integrating with WCF / Web Service endpoint.  Also useful when trying to figure out what’s going across the wire when prototyping web service call using a 3rd party web service API i.e. HP Trim, IBM Maximo, SunSystems Connect, etc.  Found it helpful when trying to determine the correct SOAP Action to bind to the port as well.  Used it to debug / monitor messages flying across the wire after deployment (act as a proxy to BizTalk web service / WCF endpoints).

2. SoapUI

Got introduced to this tool in the last couple projects.  Basically Fiddler can play this role as well, but I’ve found myself using this to create and save sample SOAP calls and see what’s coming back from web service call without having to manually intercept messages coming and going across the wire ala Fiddler.  If you know what message you want to send across and the endpoint it needs to go to, you can fake outgoing message from one system and send it directly to the next endpoint.  Found it quite useful when the source system is not quite ready yet to be integrated while you have to test the next part of the integration or the inbound system is unable to communicate to BizTalk for whatever reason in a support / testing scenario.

3. DanSharp XmlViewer

Quick way to get the right xpath given a sample XML file.  Otherwise you have to go through the XML schema in Visual Studio to figure this out.  Just load the sample XML, click on the node / attribute you are interested in and ouila, instant xpath.  You can test xpath modification as well to see what result you are going to get.  It has saved me a lot of headache trying to debug xml namespacing issue.

4. xsltcake

Awesome, I repeat… AWESOME, online tool to create and test XSL transformation ala jsfiddle / jsbin (similar tools for quick prototyping JavaScript and sharing them to the masses).  It even can do Microsoft inline scripting using inline C#, VB, etc. when you set the processor to .NET.  This has become my favorite free tool when I have to do custom XSLT mapping.

5. Windows Sysinternals DebugView

What can I say… this is just another awesome tool.  One thing that is a pain to do in BizTalk solution is debugging it, so put a lot.. I mean A LOT of System.Diagnostics.Trace (TraceInfo / TraceError) statements in your expression shapes in the orchestration / custom components and see it light up inside DebugView to see what’s actually going on in your BizTalk application.  LIFESAVER in UAT / production environment!!

6. find (Windows built in command line tool)

Hmm… couldn’t find the technet / msdn article on this, but…  This is a tool that you can use to quickly figure out if a particular message goes through a BizTalk “debug/audit” ports.  Trick is to actually save the messages you wish to audit (just subscribe to the port or build it into your orchestration).  Hook it up to File Receive Location and when you need to find a particular message having a certain text in it, fire up command prompt, go to the directory where you store your audit files and launch this. I.e. find /N “<InvoiceID>12934</InvoiceId>” *.xml | more.

There you have it…  Did I mention they are all free?  So… just use them and enjoy.