So, the encoding may have been lost in the process of making the exchange
re-readable. Does it mean that a default encoding (UTF-8) it is used?
Is there any way to avoid the encoding lost? Why is the encoding lost?
Thanks
2008/7/3 Guillaume Nodet <[EMAIL PROTECTED]>:
> How did you check the header in the exchange ?
> Did you use exchange.toString() or something like that ? The encoding
> may have been lost in the process of making the exchange re-readable.
>
> On Thu, Jul 3, 2008 at 3:29 PM, Javier Valdes
> <[EMAIL PROTECTED]> wrote:
> > We think that there is no problem with the StreamSource. When we debuged
> we
> > see that the message was correct except in the MessageExchange (InOnly
> > exchange).
> >
> > Thanks
> >
> > 2008/7/3 Guillaume Nodet <[EMAIL PROTECTED]>:
> >
> >> Doesn't the StreamSource has a way to set the content encoding for the
> >> given stream ?
> >>
> >> On Thu, Jul 3, 2008 at 1:18 PM, Javier Valdes
> >> <[EMAIL PROTECTED]> wrote:
> >> > Hi,
> >> >
> >> > We have made our own binding component and we have a problem with the
> >> > encoding. We are using Servicemix 3.2.1
> >> >
> >> > The message that we received used ISO-8859-1, and our code is this:
> >> >
> >> >
> >>
> ********************************************************************************************
> >> >
> >> > protected void processMessage (InputStream entrada, int socketId,
> int[]
> >> > eofDelim)
> >> > throws Exception
> >> > {
> >> > InOnly exchange = getExchangeFactory().createInOnlyExchange();
> >> > configureExchangeTarget(exchange);
> >> > NormalizedMessage message = exchange.createMessage();
> >> > message.setProperty("socketId", Integer.valueOf(socketId));
> >> > exchange.setInMessage(message);
> >> >
> >> > String messageContent = readMessage();
> >> >
> >> > message.setContent(new StreamSource(new
> >> > StringReader(messageContent)));
> >> >
> >> > try
> >> > {
> >> > sendSync(exchange);
> >> > }
> >> >
> >> > catch (Exception e)
> >> > {
> >> > mLogger.error("We had an exception in Socket Reader: " +
> e);
> >> > e.printStackTrace();
> >> > return;
> >> > }
> >> > }
> >> >
> >>
> ********************************************************************************************
> >> >
> >> > Where readMessage read the message content from a socket. We have
> debuged
> >> > the code and the messageContent is readed correctly (with the correct
> >> > ISO-8859-1 encoding) with this header:
> >> >
> >> > <?xml version='1.0' encoding='ISO-8859-1'?>
> >> >
> >> > When we set the content of the NormalizedMessage the content is still
> >> > correct, with the same xml header. But the exchange has this header
> (and
> >> the
> >> > message is sended to the bus in this way):
> >> >
> >> > <?xml version="1.0" encoding="UTF-8"?>
> >> >
> >> > We have set the charset to ISO-8859-1 in the servicemix.properties
> files
> >> but
> >> > we have the same problem.
> >> >
> >> > How can we fix this problem?
> >> >
> >> > Thanks
> >> >
> >>
> >>
> >>
> >> --
> >> Cheers,
> >> Guillaume Nodet
> >> ------------------------
> >> Blog: http://gnodet.blogspot.com/
> >>
> >
>
>
>
> --
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
>