Hi Willem,
works !!
Mario
mario_horny wrote:
>
> Hi all,
>
> I have a custom processor that needs to transform a cxf message before it
> is routed to the destination endpoint. The code of the process() method
> looks like that:
>
> public void process( Exchange e ) {
>
> Message iMsg = e.getIn();
>
> msgStr = iMsg.getBody(String.class).toString();
>
> System.out.println("Received msg=" + msgStr );
>
> // do the transformation ....
> String transStr = doTransform( msgStr );
>
> Message oMsg = e.getOut();
>
> oMsg.setBody( transStr);
>
> }
>
> This works pretty fine, if the dataFormat is POJO or MESSAGE (defined in
> the RouteBuilder). In these cases, the Java parameter (POJO) or the whole
> xml message (MESSAGE) are printed out by the println(...) . If the
> dataFormat is PAYLOAD, only the class reference [EMAIL PROTECTED]
> is printed out.
>
> I could find no way to get the payload data as a string. I read that I
> need to write an own converter to get the data, but at the end of the day
> my problem is that I could find no way to get the data in any format (I'm
> not fixed to use a string object).
> I tried to get the body as a Map, InputStream, Collection,
> MessageContentsList... but non of these classes worked. I found out that
> some the classes work for some dataFormats (InputStream works fine for
> MESSAGE, MessageContentsList works fine for POJO), but nothing worked out
> for PAYLOAD.
>
> Does anybody have an example how to access the message body for
> dataFormat=PAYLOAD ? Is there a common way to access the body for all
> dataFormats ?
>
> Many thanks in advance,
> Mario
>
--
View this message in context:
http://www.nabble.com/getting-the-in-message-in-a-custom-processor-with-dataFormat%3DPAYLOAD-tp20457607s22882p20503343.html
Sent from the Camel - Users mailing list archive at Nabble.com.