Failed Message Routing
By default, when a message fails (validation, transformation, routing failure, etc…) within a receive pipeline, the message is automatically placed into the message box as suspended. Suspended messages can be viewed using HAT and notification of the offending message can be sent using MOM (Microsoft Operations Manager). By default failed messages cannot be subscribed to by end points such as an orchestration or send port. This was the default operation of failed messages in BizTalk Server 2004.
BizTalk Server 2006 introduces new functionality which provides additional flexibility in dealing with failed messages. When a new receive port is created there is a property that can be set called “Generate error report for failed message” (see Figure 3).
Figure 3: Receive Port Settings
When this property is checked failed messages will not be suspended. Instead they will be sent to the message box and the following additional properties will be set.
Of these all will be promoted properties with the exception of Description and RoutingFailureReportID. By taking advantage of these additional context properties you can now create end-point filters, on an orchestration or sent port, that subscribe to these failed messages. When used appropriately, failed message routing can be used for notifying users of failed messages or building rich error handling or message repair capabilities.