I just discovered the same thing. Using <marshal> with a jaxb data format produces a byte[] which was not really expected, because the typical use case <unmarshal> is to have a java.lang.String as input.
I understand that downstream endpoints which expect a java.lang.String can benefit from Camel's automatic conversion, but if the invoker of the route expected to get the XML back as a String, you always have to remember to add <convertBodyTo ...>. You'd wish the jaxb data format had a property to control the output ... -- View this message in context: http://camel.465427.n5.nabble.com/JAXB-marshal-generates-byte-array-instead-of-String-tp5715174p5731170.html Sent from the Camel - Users mailing list archive at Nabble.com.