Hi

If you have all the data in headers, then you can use the simple
language to build a message body
http://camel.apache.org/simple

I guess this is what you attempted with <constant>. But constant is
what is says a constant.

 <constant>"<2> DateValue Hostname Message"</constant>

So try with

 <simple>"<2> ${header. DateValue} ${header. Hostname} ${header.
Message}"</simple>

On Tue, Dec 16, 2014 at 11:59 PM, mtod09 <m...@thetods.net> wrote:
> I'm developing a route that will read the incoming xml message and create a
> new message to pass to an outbound route.
>
> I need to extract some data via xpath then concat the data  elements to send
> to a new route.
>
> Example
>
> <msg1>
>    <data1>My</data1>
>    <data2>home</data2>
> <msg1>
>
> var1 = data1
> var2 = data2
>
> var3 = var1 + " " + var2
>
> var3 = "My home"
>
> I'm not sure how to do this with Spring XML does any one have an example or
> pointer?
>
> My Route so far:
>
>     <camel:camelContext id="myCamel"
> xmlns="http://camel.apache.org/schema/spring";>
>
>         <camel:dataFormats>
>             <camel:syslog id="mySyslog"/>
>         </camel:dataFormats>
>
>         <camel:route>
>             <camel:from uri="activemq:queue:syslogMessages"/>
>
>             <setHeader headerName="DateValue">
>                 <xpath
> resultType="String">/km:FMIMessage/km:Header/km:Payload/se:SystemEvent/se:EventTime/text()</xpath>
>             </setHeader>
>             <setHeader headerName="PRI">
>                 <xpath
> resultType="String">/km:FMIMessage/km:Header/km:Payload/se:SystemEvent/se:LevelID/text()</xpath>
>             </setHeader>
>             <setHeader headerName="Hostname">
>                 <xpath
> resultType="String">/km:FMIMessage/km:Header/km:Payload/se:SystemEvent/se:ServerName/text()</xpath>
>             </setHeader>
>             <setHeader headerName="Message">
>                 <xpath
> resultType="String">/km:FMIMessage/km:Header/km:Payload/se:SystemEvent/se:MessageText/text()</xpath>
>             </setHeader>
>             <setHeader headerName="SyslogMsg">
>                 <constant>"<2> DateValue Hostname Message"</constant>
>             </setHeader>
>
>
>
>             <camel:marshal ref="mySyslog"/>
>             <camel:to uri="mina:udp://localhost:514?sync=false"/>
>
>
>         </camel:route>
>
>     </camel:camelContext>
>
> Thanks
>
> Mike
>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Camel-Spring-XML-working-with-variables-from-xml-message-tp5760788.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
Email: cib...@redhat.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen
hawtio: http://hawt.io/
fabric8: http://fabric8.io/

Reply via email to