Written by: Preetham Reddy 8/12/2009 12:46 AM
With version 2.0, BizTalk ESB Toolkit ships with a cool feature that lets you track the trajectory of various Itinerary Services, as they traverse through the BizTalk Engine. Ofcourse, It doesn't happen automatically. You've got to make it happen... Every Itinerary Service has a special property called 'Tracking Enabled' which you've got to set it to 'True' during the design phase. This sets the stage for tracking an Itinerary Service. Note that, you've got to set this property for every single service in an Itinerary. Only those services whose 'Tracking Enabled' property is set to true will show up in the database. If you miss or forget for any of the services, then they won't show up.... All said and done.. So where does it show up??? When you install BAM Components during BizTalk Installation, they create a series of tables in the default SQL Server. One of them is the BAM Primary Import Database... Pull the records from the tablebam_ItineraryServiceActivity_Completed and you should see all the Itinerary Services that are exectued successfully... This table has lot of columns, but the one's that we are interested in are ItineraryBeginTime, ItineraryEndTime, ItineraryisRequestResponse, ItineraryState, ESBServiceName. ItinearyBeginTime and ItineraryEndTime will track the point at which Itinerary is started and ended. ItineraryEndTime is null for all the services except the last one. That is the point at which Itinerary signs off. ItineraryisRequestResponse indicates whether it's a one way or a two way Itinerary. ItinearyState indicates whether it is 'Pending' or 'Completed'. It has the value of 'Pending' for all the Itinerary Services except the last one, which has a value of 'Completed'. This indicates that our Itinerary is successful and it's performing the way it's suppossed to be. If you don't take proper care, when creating custom Itinerary Services using 'Orchestration' or 'Messaging', some of them might just return the values back to the On-Ramp without advancing the Itinerary. In those cases, the next Itinerary Steps wouldn't be executed, as a result of which, the Itinerary State remains 'Pending'. This is a good way to trouble shoot your itinerary services!!!
0 comment(s) so far...