When you start developing with the ESB Toolkit it can be difficult to debug an error in an itinerary. When an exception occurs, you can see the error in the Event Viewer, in the BizTalk Administration Console (if you don’t use the ESB Exception Management Framework) ore in the Management Portal but sometimes this information is not enough because you want to see which steps are already done in the itinerary and want to trace exactly when and where the error occurs.
Fortunately you can enable tracing in the ESB Toolkit and trace the steps inside the Itinerary.

The following information can be traced in the ESB Toolkit:

  • If the Itinerary could be resolved
  • Which Itineray is attached to the message
  • What the Document Message Type is
  • If a Resolver or Adapter Provider is stored in the Cache
  • Activities inside an Itinerary Service
    • Initializing
    • Resolver information
    • Adapter information
      • Endpoint information


Use a tool like DebugView to see the trace output. DebugView is an application that lets you monitor debug output on your local system, or any computer on the network that you can reach via TCP/IP.



How to configure diagnostics and trace information

To enable the Microsoft BizTalk ESB Toolkit trace switch, add the following <switches> element to the system.diagnostics section of the machine.config file.

          <add name="BizTalkESBToolkit" value="4"/>

.csharpcode, .csharpcode pre
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
background-color: #f4f4f4;
width: 100%;
margin: 0em;
.csharpcode .lnum { color: #606060; }


In every version of the ESB Toolkit is the switch name a little different. In previous versions it was "BizTalkESBToolkit" with the version number appended to it but in BizTalk 2013 it is only "BizTalkESBToolkit". Unfortunately, the documentation of the ESB Toolkit is not updated every version so beware that if you copy and paste the switches element from the documentation you have to change the switch name.


See Also

For more information on configuring diagnostics and trace information see: