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
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