Hello, I am not able to inject/modify headers in a processor using the below spring dsl config. Could you please help in figuring out what I am doing wrong?
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:camel=" http://camel.apache.org/schema/spring" xmlns:context="http://www.springframework.org/schema/context" xmlns:cxf="http://camel.apache.org/schema/cxf" xmlns:http=" http://cxf.apache.org/transports/http/configuration" xmlns:de="http://abc.com/de/2012/02" xmlns:sec=" http://cxf.apache.org/configuration/security" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd http://camel.apache.org/schema/cxf http://camel.apache.org/schema/cxf/camel-cxf.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <routeContext xmlns="http://camel.apache.org/schema/spring" id="routes1"> <route id="sdPoll" de:name="Polling" de:systemName="Polling" streamCache="true"> <from uri="timer://sdPoll?fixedRate=true&period=60000" /> <process ref="*refProcessor*" /> <to uri="http://dummyhost" /> <to uri="log:DEBUG?showBody=true&showHeaders=true" /> </route> </routeContext> <bean id="refProcessor" class="com.abc.de.RefProcessor" /> </beans> public class RefProcessor implements Processor { private final Logger log = Logger.getLogger(RefProcessor.class); @SuppressWarnings("unchecked") @Override public void process(Exchange exchange) throws Exception { exchange.getIn().setHeader("Authorization", "TODO"); exchange.getIn().setHeader("CamelHttpMethod", "POST"); exchange.getIn().setHeader("CamelHttpUri", "http://localhost:8280/api/check "); exchange.getIn().setHeader("Content-Type", "application/json"); exchange.getIn().setHeader("Accept", "application/json"); exchange.getIn().setBody("TODO"); //exchange.getOut().setHeaders(exchange.getIn().getHeaders()); //exchange.getOut().setHeader("Authorization", "TODO"); //exchange.getOut().setBody("TODO"); } } Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [sdPoll] [sdPoll] [timer://sdPoll?fixedRate=true&period=60000 ] [ 21176] [null] [onCompletion1 ] [onCompletion ] [ 106] [sdPoll] [process7 ] [ref:refProcessor ] [ 21067] [null] [process3 ] [ref:GenericErrorHandle ] [ 21016] Exchange --------------------------------------------------------------------------------------------------------------------------------------- Exchange[ Id ID-ABC-63143-1516034486954-0-2 ExchangePattern InOnly *Headers {breadcrumbId=ID-ABC-63143-1516034486954-0-1, CamelRedelivered=false, CamelRedeliveryCounter=0, firedTime=Mon Jan 15 11:41:31 EST 2018}* * BodyType null* * Body [Body is null]* ] Java DSL seem to work though! static RouteBuilder createRouteBuilder3() { return new RouteBuilder() { public void configure() { from("timer://timer1?period=60000").process(new Processor() { public void process(Exchange exchange) throws UnsupportedEncodingException { exchange.getIn().setHeader("CamelHttpMethod", "POST"); exchange.getIn().setHeader("Content-Type", "application/json"); exchange.getIn().setHeader("Accept", "application/json"); exchange.getIn().setHeader("CamelHttpUri", "http://localhost:8280/api/check"); exchange.getIn().setHeader("Authorization", "TODO"); exchange.getIn().setBody("TODO"); } }).to("http://dummyhost").to("log:DEBUG?showBody=true&showHeaders=true"); } }; } Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [route1 ] [route1 ] [timer://timer1?period=60000 ] [ 86] [route1 ] [process1 ] [RefProcessorCamel$3$1@258e2e41 ] [ 6] [route1 ] [to1 ] [http://dummyhost ] [ 76] Exchange --------------------------------------------------------------------------------------------------------------------------------------- Exchange[ Id ID-ABC-63940-1516036107063-0-2 ExchangePattern InOnly Headers * {Accept=application/json, Authorization=TODO, breadcrumbId=ID-NY-LRM-PC-214-63994-1516036220042-0-1, CamelHttpMethod=POST, CamelHttpUri=http://localhost:8280/api/check <http://localhost:8280/api/check>, CamelRedelivered=false, CamelRedeliveryCounter=0, Content-Type=application/json, firedTime=Mon Jan 15 12:10:21 EST 2018}* * BodyType String* * Body TODO* ] --
