I have a problem where in my in coming XML messages I have  °  symbols these
are marking
degrees on lat and long values. I am using version camel 2.0.0

I have specified my data format as follows

<camel:dataFormats>
      <camel:jaxb encoding="uft-8" 
                  id="incidentJaxb" 
                  prettyPrint="true" 
                  contextPath="au.bla.bla.bla.bla.bla.bla.incident" />
    </camel:dataFormats>
and call it in my route:
<camel:unmarshal ref="incidentJaxb" />

Thousands of messages process with out failure except the ones with the 
invalid ° character they end up in to my dead letter queue

I suppose my question is, is encoding still a problem in camel as per this
thread 
from earlier in the year?

Thanks Matt





Magnus Heino wrote:
> 
> A xml-message encoded in utf-8 containing åäö routed through this route is
> trashed. åäö is not åäö after this route. If I remove the marshal call,
> the
> problem goes away.
> 
> this.from("direct:request").marshal(soapDataFormat).convertBodyTo(
> String.class).to(requestUri);
> 
> To be sure that it wasn't my dataformat that trashed it, I wrote this
> processor:
> 
> final Processor wrapSoap = new Processor() {
> 
>                 public void process(Exchange exchange) throws Exception {
>                     ByteArrayOutputStream outputStream = new
> ByteArrayOutputStream();
>                     soapDataFormat.marshal(exchange, new
> StringSource((String) exchange.getIn().getBody()), outputStream);
>                     exchange.getOut(true).setBody(outputStream.toString
> ("UTF-8"));
> 
>                 }
>             };
> 
> and applied this route:
> 
> this.from("direct:request").process(this.wrapSoap).convertBodyTo(
> String.class).to(requestUri);
> 
> And now things are working...
> 
> Looking at org.apache.camel.processor.MarshalProcessor.java that is used
> in
> the marshal()-call, is this really ok to do with utf-8 data?
> 
>         dataFormat.marshal(exchange, body, buffer);
>         byte[] data = buffer.toByteArray();
>         out.setBody(data);
> 
> -- 
> 
> /Magnus Heino
> 
> 

-- 
View this message in context: 
http://www.nabble.com/MarshalProcessor-utf-8-bug--tp16037986p25530930.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.

Reply via email to