faqts : Computers : Integration : BizTalkServer2004

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

1 of 1 people (100%) answered Yes
Recently 1 of 1 people (100%) answered Yes

Entry

How can I be sure that a message has been sent?

Apr 6th, 2005 22:26
Balaji Ramachandran, http://www.netologi.se/default.aspx?Contents=BizTalkFAQ


If your orchestration needs to know IF the message was successfully 
delivered you need to set the system context property "AckRequired" on 
the message before sending it, when the messaging run-time sees this 
property stamped on the message context it will fire an ACK back to the 
orchestration once the message is successfully sent. 
However, you do not actually explicitly set the AckRequired context 
property in an orchestration. The orchestration designed has a more 
convinient way to do this, you simply set the Delivery Notification 
property on the send port to Transmitted. You will then get an 
exception if the send operation fails. 
Normally when you submit a message to a send port this only means that 
the message has been sent to the MesasageBox accepted the message and 
informed the engine that it has ownership of that message, in the case 
of FILE it means the message has been successfully dropped to disc, 
nothing more. Similarly, if the transmission fails BizTalk will fire a 
NACK, you can use try-catch in your schedule to determine the outcome 
of the transmission. To get this behavior in Orchestration, the port 
should be marked with Delivery notification required; under the covers 
the property I mention below will be stamped on the message context. 
For the ACK there is nothing to catch, you just won't exit the 
enclosing scope until the ACK (or NACK) has been received.