Hi again,
the snipped given by Willem works fine!
But this brings me to another question. How can I determine, which
dataFormat is used to send the data ? My first thought was to check out the
message header attribute "QUERY_STRING". But since this is empty, I've got
no idea. Anyone out there with a hint ?
Another question I'm currently facing in this conjunction is, how to
determine the SOAP protocol version (1.1 or 1.2) in the process() method.
Again, any help is welcome.
Greets,
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-tp20457607s22882p20617265.html
Sent from the Camel - Users mailing list archive at Nabble.com.