Geeks With Blogs
Dan Bedassa
I was recently working on a BizTalk 2004 project where I encountered an issue with capturing exceptions (inside my orchestration) occurring from an external source. Like database server down, non-existing stored procedure, …
 
I thought I might write-up this in case it might help someone …
 
To reproduce an issue, I just rename the database to something different.
 
The orchestration was failing at the point where I make a SQL request via a Response-Request Port. The exception handlers were bypassed but I can see a warning in the event log saying:
"The adapter failed to transmit message going to send port "
 
After scratching my head for a while (as a newbie to BTS 2004) to find a way to catch the exceptions from the SQLAdapter in an orchestration, here is the solution I had.
 
·         Put the Send and Receive shapes inside a Scope shape
·         Set the Scope’s transaction type to “Long Running
·         Add a Catch block expecting type “System.Exception”
·         Set the “Delivery Notification” of the associated Port to “Transmitted
·         Change the “Retry Count” of the associated port to 0 (This will make sure BizTalk will raise the exception, instead of a warning, and you can capture that)
·         Now capture and do whatever with the exception inside the Catch block
 
 
Posted on Thursday, June 17, 2010 3:45 PM | Back to top


Comments on this post: Capturing BizTalk 2004 SQLAdapter failures

No comments posted yet.
Your comment:
 (will show your gravatar)


Copyright © DanBedassa | Powered by: GeeksWithBlogs.net