This property is used to let you decide whether to suspend an entire batch of messages if at least one de-batched message fails in the disassembler or whether to allow the valid messages to be published and to suspend only the failed messages.
Click here for more details about de-batching a message
Recoverable Interchange Process allows an interchange to be processed completely even if one or more messages in the interchange fail at the following stages/phases:
1.Disassembly stage of a receive pipeline

2. XML validation stage of a receive pipeline

3. Map execution phase of a receive port
By default, when a message in an interchange fails at the mapping phase of a receive port, the entire interchange is suspended. You can change this behavior by adding a property named BTS.SuspendMessageOnMappingFailure to the message context, and by setting the value of the context property to True from a pipeline component. When this property is set to True, the end point manager places the message that failed during mapping in the suspended queue and continues to process remaining messages in the interchange.
The following code sets the value of the SuspendMessageOnMappingFailure property to True.
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
bool bSuspend = true;
inmsg.Context.Write(“SuspendMessageOnMappingFailure”, “http://schemas.microsoft.com/BizTalk/2003/system-properties ”, bSuspend);
…
}
For more info about custom pipeline click here
Reference: https://docs.microsoft.com/en-us/biztalk/core/recoverable-interchange-processing

One comment