Thanks, the TextMessage method worked.


Gert Vanthienen wrote:
> 
> L.S.,
> 
> The special characters in the message look as if there is a problem
> converting the message from bytes into a more suitable format.  Could
> you try sending the XML as a TextMessage instead of BytesMessage?  If
> you're using Camel 2.0, you could also specify the jmsMessageType on
> the jms: consumer endpoint to convert the message into a String when
> it is being received on the queue.  Either one of those solutions
> should allow us to get a more human- (and hopefully also computer-)
> readable format earlier on in the processing.
> 
> Regards,
> 
> Gert Vanthienen
> ------------------------
> Open Source SOA: http://fusesource.com
> Blog: http://gertvanthienen.blogspot.com/
> 
> 
> 
> 2009/11/17 lekkie <[email protected]>:
>>
>> I tried the soucetransformer sample and I have the same error.
>>
>> See attached a section of my servicemix log.
>>
>> Notice the special xters in the "Exchange[BodyType:byte[]"
>>
>> http://old.nabble.com/file/p26386177/servicemix-backup.log
>> servicemix-backup.log
>>
>>
>>
>> Gert Vanthienen wrote:
>>>
>>> L.S.,
>>>
>>> You can get this exception when you're actually reading invalid bytes,
>>> but in my experience you usually get this when you're reading XML as
>>> UTF-8 while it has actually been creating with another encoding.  I'm
>>> not entirely sure how this can happen with the snippet of code you're
>>> showing us, Does the SOAPMessage with the System.out.println statement
>>> look OK?  What OS are you running this on -- perhaps the underlying OS
>>> uses another encoding by default?
>>>
>>> Could you try rewriting the snippet using ServiceMix'
>>> SourceTransformer class?  That one has been configured with a charset
>>> of UTF-8 and has helper methods to help you create the Document from a
>>> StringSource without having to work with the low-level byte streams
>>> that might mess up the encoding.  Something like this:
>>>   SourceTransformer transformer = new SourceTransformer();
>>>   Document document = transformer.toDOMDocument(new StringSource(req));
>>>
>>> Regards,
>>>
>>> Gert Vanthienen
>>> ------------------------
>>> Open Source SOA: http://fusesource.com
>>> Blog: http://gertvanthienen.blogspot.com/
>>>
>>>
>>>
>>> 2009/11/16 lekkie <[email protected]>:
>>>>
>>>> I am trying to send a SOAP mesage over JMS and I got the following
>>>> error
>>>> msg:
>>>>
>>>>
>>>> 12:37:55,792 | WARN  | enerContainer-25 | ResolverUtil
>>>>   |
>>>> g.apache.camel.util.ResolverUtil  517 | Could not find class
>>>> 'org/apache/activemq/camel/converter/ActiveMQConverter.class' in any
>>>> classloaders: [BundleDelegatingClassLoader for [Service Consumer (JMS)
>>>> (college-jms)]
>>>>
>>>> 12:37:56,401 | ERROR | -cxf-se-thread-2 | JBIDispatcherUtil
>>>>  |
>>>> e.servicemix.cxfse.CxfSeEndpoint  390 | error preparing message
>>>> javax.xml.transform.TransformerException:
>>>> com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:
>>>> Invalid byte 2 of 3-byte UTF-8 sequence.
>>>>        at
>>>> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:756)
>>>>
>>>> 12:37:56,401 | ERROR | -cxf-se-thread-2 | CxfSeComponent
>>>>   |
>>>> icemix.common.AsyncBaseLifeCycle  480 | Error processing exchange
>>>> org.apache.servicemix.jbi.runtime.impl.inouti...@c7c991
>>>> java.io.IOException:
>>>> com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:
>>>> Invalid byte 2 of 3-byte UTF-8 sequence.
>>>>        at
>>>> org.apache.cxf.transport.jbi.JBIDispatcherUtil.dispatch(JBIDispatcherUtil.java:164)
>>>>
>>>> here is the xml data sent:
>>>>
>>>>            String req = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
>>>>                        "<ser:NotifyPaymentRequest
>>>> xmlns:ser=\"http://services.com\";>"
>>>> +
>>>>                "<StudentNumber>91283123</StudentNumber>" +
>>>>                "<TxnDateTime>20082734</TxnDateTime>" +
>>>>                "<PINReceiptNumber>dgf322343</PINReceiptNumber>" +
>>>>                "<StudentName>asdasd asds</StudentName>" +
>>>>                "<AmountPaid>900</AmountPaid>" +
>>>>                "<FeeName>sdfsdfd</FeeName>" +
>>>>                "<Session>sdfdsf</Session>" +
>>>>                "<Semester>asdsdfs</Semester>" +
>>>>              
>>>>  "<PaymentReferenceNumber>safsdfd</PaymentReferenceNumber>"
>>>> +
>>>>                "<BankName>asfdsad</BankName>" +
>>>>                "<BranchName>asdasd</BranchName>" +
>>>>                "<CollegeName>asdas</CollegeName>" +
>>>>                "</ser:NotifyPaymentRequest>";
>>>>
>>>> DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
>>>>            factory.setNamespaceAware(true);
>>>> byte reqXMLButes[] = req.getBytes();
>>>>            ByteArrayInputStream byteArrayInputStream = new
>>>> ByteArrayInputStream(reqXMLButes);
>>>>
>>>>            DocumentBuilder builder = factory.newDocumentBuilder();
>>>>            Document document = builder.parse(byteArrayInputStream);
>>>> //            Document document = builder.parse( new
>>>> File("src/PaydirectNotifyPaymentRequest.xml") );
>>>>            SOAPBody soapBody = soapMessage.getSOAPBody();
>>>>            SOAPBodyElement docElement =
>>>>  soapBody.addDocument(document);
>>>>            soapMessage.saveChanges();
>>>>            Message m =
>>>> MessageTransformer.SOAPMessageIntoJMSMessage(soapMessage, sendSession);
>>>>            System.out.println("Display the SOAP message"+m);
>>>>            sender.send(m);
>>>>
>>>>
>>>> kr.
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://old.nabble.com/Invalid-byte-2-of-3-byte-UTF-8-sequence-tp26370700p26370700.html
>>>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>> -----
>>> ---
>>> Gert Vanthienen
>>> http://gertvanthienen.blogspot.com
>>>
>>
>> --
>> View this message in context:
>> http://old.nabble.com/Invalid-byte-2-of-3-byte-UTF-8-sequence-tp26370700p26386177.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
> 

-- 
View this message in context: 
http://old.nabble.com/Invalid-byte-2-of-3-byte-UTF-8-sequence-tp26370700p26404398.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to