InputStream stream = exchange.getIn().getMandatoryBody(InputStream.class);
try {
// lets setup the out message before we invoke the dataFormat
// so that it can mutate it if necessary
Message out = exchange.getOut();
out.copyFrom(exchange.getIn());
Object result = dataFormat.unmarshal(exchange, stream);
out.setBody(result);
} catch (Exception e) {
// remove OUT message, as an exception occurred