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 thought on “Handle fault message while de-batching (Recoverable Interchange Process)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s