When an exception occured in camel processor, the message exchange is sent back to the NMR without taking care of its failed status.
ServiceMix MessageExchange ends in Done status instead of Error.
The probably incorrect code is in CamelJbiEndpoint.handleActiveProviderExchange() :
After calling "camelProcessor.process(camelExchange);", the method sould have a look at camelExchange.isFailed()
and filling exchange with correct status and exception before calling "send(exchange);".