Hi

Can you create a JIRA ticket and attach a small example with one of
your XML file that has this invalid character.
Then we can use that as a base for a fix and unit test.

On Wed, Sep 23, 2009 at 1:02 AM, SoaMattH <[email protected]> wrote:
>
> 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.
>
>



-- 
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