Uploaded image for project: 'ServiceMix Components'
  1. ServiceMix Components
  2. SMXCOMP-252

EIP Pipeline with "sendFaultsToTarget" = true does not copy properties and attachments to target ME "in" message for a fault

    XMLWordPrintableJSON

Details

    • 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

      Attachments

        1. sm-1636.patch
          14 kB
          Ron Gavlin

        Activity

          People

            gnodet Guillaume Nodet
            rgavlin Ron Gavlin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: