Hi What Camel version do you use, and tomcat version? And what exactly do you mean by does not work.
On Mon, Jul 18, 2022 at 1:58 PM Riddhi Doshi <riddhi.do...@oracle.com> wrote: > Hi team, > > I have found several examples of camel servlet for tomcat server using > spring DSL, I want to use Java DSL and create a RouteBuilder as shown > below. This servlet works as expected on Jetty when I run using mvn > jetty:run command, but doesn't work with tomcat server. > > import org.apache.camel.Exchange; > import org.apache.camel.Processor; > import org.apache.camel.builder.RouteBuilder; > > public class DefaultRouteBuilder extends RouteBuilder { > > @Override > public void configure() throws Exception { > > System.out.println("DefaultRouter"); > from("servlet:hello?matchOnUriPrefix=true").process(new > Processor() { > public void process(Exchange exchange) throws Exception { > String contentType = > exchange.getIn().getHeader(Exchange.CONTENT_TYPE, String.class); > String path = > exchange.getIn().getHeader(Exchange.HTTP_URI, String.class); > path = path.substring(path.lastIndexOf("/")); > exchange.getOut().setHeader(Exchange.CONTENT_TYPE, > contentType + "; charset=UTF-8"); > exchange.getOut().setHeader("PATH", path); > exchange.getOut().setBody("<b>Hello World</b>"); > } > }); > } > } > > > My web.xml looks like this > <?xml version="1.0" encoding="ISO-8859-1"?> > > <webapp> > <display-name>camel-servlet</display-name> > > <context-param> > <param-name>name</param-name> > <param-value>MyCamel</param-value> > </context-param> > <context-param> > <param-name>routeBuilder-MyRoute</param-name> > > <param-value>org.apache.camel.community.so.servletlistener.DefaultRouteBuilder</param-value> > </context-param> > <listener> > > <listener-class>org.apache.camel.component.servletlistener.JndiCamelServletContextListener</listener-class> > </listener> > > <servlet> > <servlet-name>CamelServlet</servlet-name> > > <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class> > <load-on-startup>1</load-on-startup> > </servlet> > > <servlet-mapping> > <servlet-name>CamelServlet</servlet-name> > <url-pattern>/camel/*</url-pattern> > </servlet-mapping> > </webapp> > > Any help would be appreciated. > > Thanks & Regards, > Riddhi > -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2