How to manipulate header on Camel route in SwitchYard
Issue
- We are using the Camel exchange header in a SwitchYard Camel route and we are not being able to manipulate the header once it is set. We are setting an XML in the header and we would like to set some values to those XML nodes.
- We have to implement the project without creating any Java classes, meaning that we need to do it just with Camel XML.
- Our main route is something like this:
<route streamCache="true" id="Main">
<from uri="switchyard://endpoint" />
<!-- Here we would like to manipulate the header ${headers.header} -->
<wireTap uri="direct:routeMessage" copy="true">
<body>
<simple>${headers.header}</simple>
</body>
</wireTap>
<to uri="switchyard://newEndPoint" />
<!-- Here we would like to manipulate the header ${headers.header} again -->
<wireTap uri="direct:routeMessage " copy="true">
<body>
<simple>${headers.header}</simple>
</body>
</wireTap>
</route>
- And our header is something as this fields, among others:
<Header>
<Info>
<InternalID>xxx</InternalID>
</Info>
<StartTime>xxx</StartTime>
<EndTime>xxx</EndTime>
</Header>
- We would like to be able to manipulate the header where we mention above so we could set values on the nodes.
- We have a XSLT file to do some transformations and it would be great if we could manipulate the header directly with the XSLT.
Environment
- Red Hat JBoss Fuse Service Works (FSW)
- 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.