Recently, I received continuous routing failure report for ACK message in BizTalk, So I checked the orchestrations operation for which we were getting this error.
The BizTalk operation that I am using has the delivery notification set to transmitted. The role of this property is to notify the orchestration whether the transmission of the message from the physical send port was successful or not.

If the transmission was successful we will get ACK message(this will not have any message body) else if the transmission was failure we will get NACK.



The Ack and NAck messages that are published are not getting routed to the BizTalk orchestration and I am getting routing failure error. Later I found that the orchestration instance which was supposed to receive the Ack/Nack message was completed already.
After further analysis, I found that even though the scope enclosing the send shape along with other shapes was having DeliveryFailureException exception handling but the orchestration didn’t wait neither for ACK nor Nack message.

So, for the orchestration to wait for the ack messages, what I did is placed the send shape under the synchronized scope after which I was not getting the routing failure report for Ack messages.

Happy BizTalking!!

Written by
Shashidharan Krishnan

Reviewed by
Shailesh Agre

Microsoft India GTSC