Btw, maybe you could try with a new StringSource(src) instead of new
StreamSource(new StringReader(src))

On Thu, Jul 3, 2008 at 3:55 PM, Guillaume Nodet <[EMAIL PROTECTED]> wrote:
> 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/
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Reply via email to