How to manipulate header on Camel route in SwitchYard

Solution Unverified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content