title: Exchange.getIn().getBody() returns empty string in camel on second call
body: <p>I have 2 identical calls:</p>
  
  <pre><code>String msg1 = exchange.getIn().getBody(String.class);
  String msg2 = exchange.getIn().getBody(String.class);
  </code></pre>
  
  <p>In msg1 I get the correct expected value , but msg2 is an empty string. I'm not setting the <strong>Out</strong> message , so the exchange <strong>In</strong> message should be still intact. Please explain why this is happening.</p>
  
  <p>Camel routes:</p>
  
  <pre><code>&lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
      &lt;route id="route1"&gt;
          &lt;from uri="timer://myTimer?period=2000" /&gt;
          &lt;setBody&gt;
              &lt;simple&gt;Hello World ${header.firedTime}&lt;/simple&gt;
          &lt;/setBody&gt;
          &lt;process ref="messageProcessor" /&gt;
          &lt;to uri="http://localhost:8090"/&gt;
      &lt;/route&gt;
      &lt;route id="route2"&gt;
          &lt;from uri="jetty://http://localhost:8090" /&gt;
          &lt;process ref="messageProcessor" /&gt;
      &lt;/route&gt;
  &lt;/camelContext&gt;
  </code></pre>
  
  <p>The processor contains only the 2 statements from above.
  The processing in route1 is correct , but in route2 I get the described behaviour : first call - valid string , second call - empty string. So I think maybe it has something to do with HttpMessage conversion.</p>