Hi

If the SOAP body is XML payload you can extract the values using xpath
or xquery languages.

But mind that XPath likely reads in the content into memory - not sure
if it has any kind of streaming support.
And I think XPath from the JDK reads content into memory.

An alternative is to use StAX which can parse in a streaming mode, and
then parse until you have the value and then stop.

Camel has a StAX component
http://camel.apache.org/stax





On Wed, May 31, 2017 at 11:07 AM, Amiya Sankar Pradhan
<amiya.c...@gmail.com> wrote:
> Hi All, I am new to apache camel. I need some help on the below issue.
>
> We have a requirement to set a header values(value has to be extracted from
> the body before setting) in soap request based on the soap body element
> received and then reroute it after that.
>
> Presently we are marsalling the soap body to java object in the router class
> and getting the required value and setting it to the header. As the request
> is very large we are facing memory leak issue.
>
> therefore we want to read the xml and retrieve the attribute and set it in
> the header without converting it to java object.
>
> please let us know how can we achieve that. Also let me know if this
> approach is correct.
>
> Thanks
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Extract-xml-attribute-value-and-set-to-request-header-tp5801420.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to