we can use exchange.getIn().setHeader() only when we don't call exchange.getOute().setBody(), otherwise

if we set exchange.getOut().setBody, then the header will miss.
exchange.getOut().setBody(outFileName+":"+commandStr);

so we replace ex.getIn().setHeader(); to
ex.setProperty();