The content of the message itself is changed when the xml needs to be read for logging or serialized. This is necessary so that if you put a source based on a stream, you won't have a EOF exception when the component processes the message. So the Source are transformed to DOMSource, which can be re-read at will.
On 10/31/06, Roger Menday <[EMAIL PROTECTED]> wrote:
Hi Guillaume, > The main cause would be that the exchange is logged at DEBUG > level. This means that the xml is displayed, and thus the Source > is transformed to a DOMSource. You can avoid that by changing > the log level to INFO, or by setting the system property > "org.apache.servicemix.preserveContent" to "true". I was examining the Source content by actually getting the content, and looking at the class of the Source object ... (?) Roger > > It seems also that the CopyTransformer do not recognize the > XStreamSource as a re-readable Source. > It means that if the message is transformed by the CopyTransformer, > it will be transformed to a DOM Source. > > On 10/31/06, Roger Menday <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> I have a Sender and Receiver components (both extending >> ComponentSupport). The sender sends a message with the Source content as >> a XStreamSource. My understanding from the documentation is that the >> receiver can pick up the Source content of the in message as the >> original XStream pojo (avoiding the extra marshalling). However, in the >> case of a different receiver, not aware that the source is a JavaSource, >> it can use the DOM representation of the content. However, from all my >> experiments, the content of the Source of the incoming message at the >> receiver is always DOMSource, and I can't get hold of the original >> POJO ... >> >> Can anyone point out where I'm going wrong. I've looked through the >> testcases for something to help me out, but can't find something doing >> this exactly. >> >> Thanks, >> >> Roger >> >> > >
-- Cheers, Guillaume Nodet
