I have the following route:

<route>
   <from uri="direct:start"/>
    <enrich strategyRef="CurrentEnrichStrategy">
      <simple>direct:enrich</simple>
  </enrich>
  <marshal ref="mimemultipart"/>
  <to uri="log:loggingmimemessage"/>
</route>

This route works as follows:

1. Enrich: Adds the body from the enrich endpoint as attachment:
2. Marshal: The exchange with attachment is marshalled to a MimeMessage
using MimeMultipartDataFormat

This worked until 4.9.0, but from 4.10.0 I don't always get the
mimemessage. When I use an InOut exchange pattern the resulted exchange has
the right has headers, but the body is still from the original exchange.

I can work around this by changing the route to InOnly before the enrich
step.

<route>
   <from uri="direct:start"/>
    <setExchangePattern pattern="InOnly"/>
    <enrich strategyRef="CurrentEnrichStrategy">
      <simple>direct:enrich</simple>
  </enrich>
  <marshal ref="mimemultipart"/>
  <to uri="log:loggingmimemessage"/>
</route>

The above route gives the intended output (reply). I saw in the release
notes/what's new that there are some changes with attachments, could that
be the cause?

Raymond


Link to the custom AggregateStrategy:
https://github.com/assimbly/runtime/blob/develop/dil/src/main/java/org/assimbly/dil/blocks/beans/enrich/attachment/AttachmentEnrichStrategy.java
Link to used MimeMultipartDataFormat:
https://github.com/apache/camel/blob/main/components/camel-mail/src/main/java/org/apache/camel/dataformat/mime/multipart/MimeMultipartDataFormat.java

Reply via email to