Consider the following scenario:
Problem: When a message is received on this Receive Location, and there are no subscribers for it, the expectation is that the message in Format B will be received by the error-handling orchestration (or Send Port). However, in some scenarios (depending on the pipeline, pipeline configuration, etc), the message received by the error-handling orchestration (or Send Port) is in Format A. How come?
Here’s what is most probably happening:
Question: How do you ensure that the message received by the error-handling orchestration (or send port) is in Format B?
Answer: The output message from the pipeline must have the context property “SuspendMessageOnRoutingFailure” present, with a value of true (boolean).
How does that work? Well, it changes the sequence above to be as follows:
The out-of-box XML Disassembler component, has an option named “Recoverable Interchange”. When this option is set to true, the XML Disassembler internally translates this to mean “SuspendMessageOnRoutingFailure”=true, and sets this context property to the message.