There is a setHeader tag. Which accepts an expression. So we can use
the simple language to concat a dynamic string.

 <setHeader 
name="Content-Type"><simple>${in.header.Content-Type};charset=UTF-8</simple></setHeader>

You can also just use the old java code and refer to it as a processor

<bean id="myProcessor" class="com.mycompany.MyProcessor"/>

<from xxxx/>
   <processRef ref="myProcessor"/>
   ...

And have a class

public class MyProcessor implements Processor {
   // implement the java code below that sets the headers
}



On Thu, Oct 15, 2009 at 9:41 AM, Me Coder <coder_...@yahoo.com> wrote:
>
> I'd greatly appreciate help in converting the below route into its XML
> equivalent.  I am stuck at the part on how to set the content type, charset
> header and the body of the response itself.
>
> Thanks...
>
> 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_PATH,
> String.class);
>        assertEquals("Get a wrong content type", CONTENT_TYPE, contentType);
>        String charsetEncoding =
> exchange.getIn().getHeader(Exchange.HTTP_CHARACTER_ENCODING, String.class);
>        assertEquals("Get a wrong charset name", "UTF-8", charsetEncoding);
>        exchange.getOut().setHeader(Exchange.CONTENT_TYPE, contentType + ";
> charset=UTF-8");
>        exchange.getOut().setHeader("PATH", path);
>        exchange.getOut().setBody("Hello World");
>    }
> });
>
> --
> View this message in context: 
> http://www.nabble.com/Servlet-End-Point-Route-Processing-in-XML-tp25904220p25904220.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to