I think there is a serious issue when evaluatiog Bean language expression. it seems like attachments are not copied from the resulting exchage. very simple case: invoke a methode where you add an attachment to the exchange, when the evaluation is ending the value of the exchange will be null. I debuged in camel source code, the method process Line n:174 did not copie the attachment, below the source code: ------------------------------- // copy the original exchange to avoid side effects on it Exchange resultExchange = exchange.copy(); // remove any existing exception in case we do OGNL on the exception resultExchange.setException(null);
// force to use InOut to retrieve the result on the OUT message resultExchange.setPattern(ExchangePattern.InOut); processor.process(resultExchange); result = resultExchange.getOut().getBody(); // propagate properties and headers from result if (resultExchange.hasProperties()) { exchange.getProperties().putAll(resultExchange.getProperties()); } if (resultExchange.getOut().hasHeaders()) { exchange.getIn().getHeaders().putAll(resultExchange.getOut().getHeaders()); } // propagate exceptions if (resultExchange.getException() != null) { exchange.setException(resultExchange.getException()); } ------------------------------------------------------------------------- can you please approve the issue. -- View this message in context: http://camel.465427.n5.nabble.com/Attachments-are-Lost-using-Bean-Language-tp5753283.html Sent from the Camel - Users mailing list archive at Nabble.com.