Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
servicemix-eip-2008.01
-
None
-
Patch Available
Description
EIP Pipeline with "sendFaultsToTarget" = true does not copy properties and attachments to target ME "in" message for a fault.
Thus, when the pipeline is bookended by an EIP StaticRecipientList and an EIP RecipientListAggregator and a fault is thrown by the pipeline transformer, the following exception occurs:
java.lang.IllegalArgumentException: Could not retrieve correlation id for incoming exchange
at org.apache.servicemix.eip.support.AbstractAggregator.processProvider(AbstractAggregator.java:204)
at org.apache.servicemix.eip.support.AbstractAggregator.process(AbstractAggregator.java:190)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
...
(this stack trace is from version smx 3.3.1.6-fuse but the problem exists in the current smx trunk as well)
Pipeline.java should be modified to copy properties and attachments when the transformer "fault" message is copied to the target "in" message due to "sendFaultsToTarget" being true. The code should be similar to where the transformer "out" message is copied to the target "in" message.
This is required in both the sync and async code.
Ron