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

Reply via email to