Hi, You need to take a good look at the camel-servlet[1] component, as you want to get the file name from the client http request.
[1]http://camel.apache.org/servlet.html -- Willem Jiang Red Hat, Inc. FuseSource is now part of Red Hat Web: http://www.fusesource.com | http://www.redhat.com Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) (English) http://jnn.javaeye.com (http://jnn.javaeye.com/) (Chinese) Twitter: willemjiang Weibo: willemjiang On Tuesday, September 25, 2012 at 8:55 PM, Elezabeth wrote: > Hi ,I am trying to make use of camel in tomcat server. My requirement is to > read a cvs file in a folder whenever a *http request* is hit. I was able to > do this successfully using camel when I was using the "Run as a Java > application" in y IDE.Now I have to do the same thing in "Run on server" and > I using tomcat server 7.0 . But now nothing is working.. I am not able to > understand wat exactly is happening. I checked the camel servlet tomcat > example.But that couldn't help me..I am pasting my code > below./*OagProcessor.java*/public class OagProcessor extends RouteBuilder { > DataFormat bindy = new BindyCsvDataFormat( > "jp.co.airlink.gavss.adapter.eai.oag.job"); Exchange exchnge = null; > String fileName = null; @Override public void configure() throws > Exception { System.out.println("in configure"); > from("http://localhost:8080/test").inOnly("seda:myfile"); > from("seda:myfile").inOnly("bean:fileConsumer?method=consumeFile") > .unmarshal(bindy) > .to("bean:validateFileInput?method=receiveOagData"); > }}*/FileConsumer.java/*public class FileConsumer { @Inject private > ConsumerTemplate consumer; @Inject private ProducerTemplate producer; > public void setConsumer(ConsumerTemplate consumer) { this.consumer = > consumer; } public void setProducer(ProducerTemplate producer) { > this.producer = producer; } public void consumeFile(Exchange exchange) > throws Exception { System.out.println("File Name in Consumer -> > "+exchange.getIn().getHeaders()); String fileName = > (String)exchange.getIn().getHeader("filename"); Exchange recievedEx = > consumer.receive("file:d:/a/?fileName="+fileName); > System.out.println("Recieved -> > "+recievedEx.getIn().getBody().getClass().getName()); InputStream > inputStream = > GenericFileConverter.genericFileToInputStream((GenericFile<?>)recievedEx.getIn().getBody(), > recievedEx); System.out.println("InputStream >>> "+inputStream); > exchange.getIn().setBody(inputStream); //producer.sendBody("seda:myfile", > inputStream); }}*/camel-context.xml/* > */web.xml/*s (http://web.xml/*s)<?xml version="1.0" encoding="UTF-8"?> > org.springframework.web.context.ContextLoaderListener > (http://web.context.ContextLoaderListener) > contextConfigLocation /WEB-INF/conf/bootstrap.xml > /WEB-INF/spring/camel-context.xml appServlet > org.springframework.web.servlet.DispatcherServlet > (http://web.servlet.DispatcherServlet) contextConfigLocation > /WEB-INF/conf/bootstrap.xml 1 mySerlvet > org.apache.camel.component.servlet.CamelHttpTransportServlet > contextConfigLocation /WEB-INF/spring/camel-context.xml 2 > myServlet / appServlet / DB Connection jdbc/gavss > javax.sql.DataSource Container web.xml (http://web.xml) is the portion where > I am not very > quite sure of. I started my server.. the only thing I get in the console log > is File Name in Consumer -> null....Can anyone tell me what is wrong here? > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Camel-and-tomcat-tp5719942.html > Sent from the Camel - Users mailing list archive at Nabble.com > (http://Nabble.com).