wiki

Codit Wiki

Loading information... Please wait.

Codit Blog

Step by step debugging of bridges in Windows Azure BizTalk Services

 

Posted on Sunday, December 15, 2013 5:34 PM

Sam Vanhoutte by Sam Vanhoutte

This blog post describes the new testing and debug capabilities through the BizTalk Service explorer

Introduction

The BizTalk product team has recently published BizTalk Service Explorer to the Visual Studio Gallery.  It can be downloaded by clicking this link.  The tool is still an alpha version and will keep being improved over time.    This explorer adds a node to Visual Studio Server Explorer through which a BizTalk Service can be managed.  The following capabilities are available:

  • Browsing of all artifacts (endpoints, bridges, schemas, assemblies, transformations, certificates…)
  • See tracked events of bridges
  • Upload and download artifacts
  • Start & stop endpoints
  • Restarting the services
  • Testing and debugging bridges

Testing capabilities

This blog post will be about that last feature, the testing and debugging of bridges.  With the tool, it’s much easier to test bridges and to get insight in the actual processing and the state of messages at the various stages.  It is not (yet?) possible to have step through debugging of custom code.

Sending test messages

Where we were making our own testing tools, or we used the MessageSender console app, we can now have integrate testing capabilities in Visual Studio.  To do this, you can just right click a bridge and send a test message to it.

sendtestmsg

After doing so, you get a simple dialog box where you can have your bridge tested.

test

Debugging bridges

This feature is very neat.  Here you can proceed step by step through a BizTalk bridge and see how the message and the context changes from stage to stage.

How it works? Through service bus relay!

  • First of all, you have to configure a service bus namespace with the right credentials.  This service bus namespace can be an existing.  Configuring this can be done on the properties of the service node:
    sbname
  • Now this is done, the explorer will start up a service bus relayed web service that will be called from the actual runtime. 

Debug a bridge

To debug a bridge, you just have to right click it and select the debug option.  This will open a new window, as depicted below.  When stepping through the pipeline, the message and the context of the current and the previous stage are visible side by side, so that it can easily be compared.  This is ideal for seeing the mapping results, effects of custom message inspectors and responses of LOB systems…

debug

Be aware that, when a bridge is in debug mode, messages from other consumers can also be reflected and visualized in the tool.  (I tested this by sending a message through the tool and by sending another one outside of Visual Studio)  So, don’t use this on bridges in production!

Feedback for next versions

This tool really makes it more productive and intuitive to test bridges and the behavior of BizTalk Services.  I really hope it will continue to evolve and therefore I want to give some feedback here:

  • I would love to see the HTTP header values in the test or debug tool. 
  • For bridge debugging, it would be nice to right click a stage and to specify something like : ‘continue to here’.  This would make it even faster to test.
  • The tracking of events should be better visualized.  Instead of showing just a list of Guids, I would love to see timestamps at least and I would love to see the tracked items in a better format
  • It would also be nice if you could link one (or more?) test files with a specific bridge in the explorer.  Then it would be faster to test.  Another nice to have would be to drag my test message onto the bridge node to open the test or debug window, pre filled with the dropped file.

 

Sam Vanhoutte

Categories: BizTalk
written by: Sam Vanhoutte