BizTalk Server General - Catching exceptions from SQL Adapter calls

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server General > March 2005 > Catching exceptions from SQL Adapter calls





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Catching exceptions from SQL Adapter calls
Todd Smart

2005-03-25, 5:49 pm

There appears to be a good deal of chatter on this topic, but I have not been
able to leverage all of the recommendations and get a working solution.

Problem: When a message is sent to a port whose transport type is SQL, I
want to be able to catch ANY exception resulting from that call INSIDE the
calling orchestration.

Configuration:
1) Port Retry Count = 0
2) Port Send Pipeline = Microsoft.BizTalk.DefaultPipelines.XMLTransmit
3) Port Receive Pipeline = Microsoft.BizTalk.DefaultPipelines.XMLReceive
4) Scope inclosing the Send and Receive shapes has Transaction Type = Long
Running. (and all enclosing scopes have Transaction Type = Long Running)
5) Scope inclosing the Send and Receive shapes has Synchronized = True
6) Send Port has Delivery Notification = Transmitted
7) Catching Microsoft.XLANGs.BaseTypes.DeliveryFailureException,
System.Exception, and the BizTalk General Exception (in that order)
7) And...I'm running SP1

Tests:
1) Drop the sproc that I'm calling through the SQL Adapter --> RESULT:
message suspended and several exceptions logged by BizTalk in the Application
Event Log (i.e. I don't get any exception returned to the Orchestration).
2) Add the sproc back, but raise an exception inside of the sql code -->
RESULT: same as above
3) Alter the sproc to return one less column than is needed to adhere to
the response schema --> RESULT: same as above.

SO.....How can I catch these exceptions inside the orchestration?


THANKS IN ADVANCE!!!

Todd Smart
smartbinary.com
Todd Smart

2005-03-25, 5:49 pm

Looks like a swift reboot allowed all the pieces to gel. Please disregard
this question...and...thanks to all that spent the time to explain the steps
necessary to catch these exceptions!


"Todd Smart" wrote:

> There appears to be a good deal of chatter on this topic, but I have not been
> able to leverage all of the recommendations and get a working solution.
>
> Problem: When a message is sent to a port whose transport type is SQL, I
> want to be able to catch ANY exception resulting from that call INSIDE the
> calling orchestration.
>
> Configuration:
> 1) Port Retry Count = 0
> 2) Port Send Pipeline = Microsoft.BizTalk.DefaultPipelines.XMLTransmit
> 3) Port Receive Pipeline = Microsoft.BizTalk.DefaultPipelines.XMLReceive
> 4) Scope inclosing the Send and Receive shapes has Transaction Type = Long
> Running. (and all enclosing scopes have Transaction Type = Long Running)
> 5) Scope inclosing the Send and Receive shapes has Synchronized = True
> 6) Send Port has Delivery Notification = Transmitted
> 7) Catching Microsoft.XLANGs.BaseTypes.DeliveryFailureException,
> System.Exception, and the BizTalk General Exception (in that order)
> 7) And...I'm running SP1
>
> Tests:
> 1) Drop the sproc that I'm calling through the SQL Adapter --> RESULT:
> message suspended and several exceptions logged by BizTalk in the Application
> Event Log (i.e. I don't get any exception returned to the Orchestration).
> 2) Add the sproc back, but raise an exception inside of the sql code -->
> RESULT: same as above
> 3) Alter the sproc to return one less column than is needed to adhere to
> the response schema --> RESULT: same as above.
>
> SO.....How can I catch these exceptions inside the orchestration?
>
>
> THANKS IN ADVANCE!!!
>
> Todd Smart
> smartbinary.com

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com