Stephen W. Thomas BizTalk Blog

100% Pure BizTalk
posts - 132, comments - 146, trackbacks - 438

My Links

News

Subscribe to my blog via:


Add to Google

Visit my website at:
www.BizTalkGurus.com

Archives

BizTalk 2004 Samples

BizTalk 2006 Samples

BizTalk Videos

BizTalk White Papers

BizTalkBlogs.com

Great BizTalk Blogs

Other Links

NAck Message Catching Orchestration for BizTalk 2004

NAcks or Negative Acknowledgments are small SOAP messages that exist in BizTalk when a messaging error occurs.  This happens when adapters fail, pipelines fail, messages do not match subscriptions, ect.

 

These messages can be subscribed to and a business process can be written to react to all of these messages or specific error codes. 

 

This sample Orchestration shows how simple it is to catch these messages.  To subscribe to a NAck, just create a subscription to: BTS.AckType = NACK.  It’s that easy!

 

Download: NAck Catching Sample

 

Setup: Download and extract the solution.  Create a receive port that causes a routing failure.  Drop a message and watch for the output in the Out folder.

 

For a routing failure NAck, the following properties are available in the message context and could be accessed inside the Orchestration:

AckDescription

AckFailure Category

AckFailure Code

AckID

AckInboundTransportLocation

AckOwnerID

AckReceivePortID

AckReceivePortName

AckType

 

With this information, logic could be included inside the Orchestration to extract / reprocess a message or log the error to an additional notification facility (other then the event log since it would already be logged there).

Print | posted on Wednesday, May 25, 2005 11:35 PM |

Feedback

Gravatar

# re: NAck Message Catching Orchestration for BizTalk 2004

Thanks Stephen. Its a great tip!
5/26/2005 8:14 AM | McGeeky
Gravatar

# re: NAck Message Catching Orchestration for BizTalk 2004

This is very cool. I am trying to decide whether to do it this way or catching the exception in the orchestration and calling (start) a common orchestration to do the handling. In the catching/starting orch way, I'm able to pass in the original message so I can then write it to file (to re-inject later if necessary). This way is a lot simpler (since I don't have to do anything special in my orchestrations for it to work). Any tips on how to extract the original message from here though? Thanks!!
12/20/2005 1:13 PM | Susan
Gravatar

# re: NAck Message Catching Orchestration for BizTalk 2004

I think you can get the original message through WMI. Probably need to have inbound message body tracking turned on for the Orchestration. I think there is a sample in the SDK.

Stephen W. Thomas
1/4/2006 4:51 PM | Stephen W. Thomas

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 1 and 8 and type the answer here:

Powered by: