When using TextMessage with JMS, CXF currently will convert the text back/forth into byte to create Streams as much of the runtime expects Input/OutputStream. It would be good if the runtime could be updated to support Reader/Writer in addition to Input/OutputStream which would allow the StringReader/Writer to avoid the extra levels of encoding and decoding.
It's likely that not ALL of the runtime will be updatable easily. In those cases, users should still be able to use byte message. (example, certain interceptors like the FastInfoset interceptors that ONLY work with streams would not work with the TextMessage interactions, but they likely would have resulting in wrong/bogus stuff previously anyway)