Hi Use a plain POJO to send it and inject a ProducerTemplate so you can send it easily >From the POJO (java code) you are in full power what to do before sending it.
Camel however also have a intercept() DSL that might come handy but it's not used as much, but I guess the interceptor might not kick in on retries. So a POJO would be my advice, giving you 100% full control. See http://activemq.apache.org/camel/pojo-producing.html Then you can have a simple route as: from("direct:tohttp").to("bean:myPOJOSender"); Where the bean will set the correct headers and send it to the http endpoint. public class MyPOJOSender { public void doSomething(Exchange exchange) { // here you can set the header, instead of the route above // then you can set some other values before you send it as well // as they will be updated also for retries template.send("http:/xxx", exchange); } /Claus Ibsen Apache Camel Committer Blog: http://davsclaus.blogspot.com/ On Fri, Nov 14, 2008 at 10:10 PM, harinair <[EMAIL PROTECTED]> wrote: > > Claus: > > Thanks for the reply... I would not have much control since I use dynamic > routing address by recipientList. Probably to refresh WSSE for every retry, > I may have to modify the HTTP component??? Is there no other way to > introduce some kind of send filter on the component so that I can get the > control before each send? Probably not possible - right? > > Regards. > Hari Gangadharan > > > > Claus Ibsen wrote: >> >> Hi >> >> You could send it to a direct endpoint and then you can set the header >> before sending it to the real http endpoint. >> >> Something like this - where we use a POJO to compute the header value: >> >> from("direct:tohttp").setHeader("wsse").bean(MySetHeaderBean.class).to("http:xxxx") >> >> You can also use the simple language to set the date and a constant text. >> Maybe that is sufficient for your requirement: >> >> from("direct:tohttp").setHeader("wsse").simple("${date:now:YYYY-mm-dd} >> Hello World").to("http:xxxx") >> >> >> >> Oh the problem with setting on retries is a bit more cumbersome; you can >> use a POJO to send it so you can be in full power, where you set the >> updated header. >> >> from("direct:tohttp").to("bean:sendtohttp"); >> >> And in the POJO sendtohttp you set the new updated header. >> Then Camel will handle retry and invoke you bean for each retry where you >> set a fresh updated header. >> >> >> >> Med venlig hilsen >> >> Claus Ibsen >> ...................................... >> Silverbullet >> Skovsgårdsvænget 21 >> 8362 Hørning >> Tlf. +45 2962 7576 >> Web: www.silverbullet.dk >> -----Original Message----- >> From: harinair [mailto:[EMAIL PROTECTED] >> Sent: 10. november 2008 05:30 >> To: camel-user@activemq.apache.org >> Subject: Setting HTTP headers before send >> >> >> Hi All: >> >> I use the recipientList to send to different endpoints like ftp/sftp/http >> depending on the header route. I have a requirement of setting the >> headers >> before the send - especially the WSSE headers that contains a unique nonce >> and the created date. I have to set this every time the HTTP endpoint or >> any >> endpoint try to send it - even on retries I have to modify these headers. >> Is >> there any easy way to do this? >> >> Any help will be greatly appreciated. >> Hari Gangadharan >> >> -- >> View this message in context: >> http://www.nabble.com/Setting-HTTP-headers-before-send-tp20414207s22882p20414207.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> >> > > -- > View this message in context: > http://www.nabble.com/Setting-HTTP-headers-before-send-tp20414207s22882p20508355.html > Sent from the Camel - Users mailing list archive at Nabble.com. > >