You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by lekkie <le...@gmail.com> on 2009/11/16 12:58:32 UTC

Invalid byte 2 of 3-byte UTF-8 sequence

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.InOutImpl@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.


Re: Invalid byte 2 of 3-byte UTF-8 sequence

Posted by lekkie <le...@gmail.com>.
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 <le...@gmail.com>:
>>
>> 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 <le...@gmail.com>:
>>>>
>>>> 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.InOutImpl@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.


Re: Invalid byte 2 of 3-byte UTF-8 sequence

Posted by Gert Vanthienen <ge...@gmail.com>.
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 <le...@gmail.com>:
>
> 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 <le...@gmail.com>:
>>>
>>> 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.InOutImpl@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.
>
>

Re: Invalid byte 2 of 3-byte UTF-8 sequence

Posted by lekkie <le...@gmail.com>.
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 <le...@gmail.com>:
>>
>> 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.InOutImpl@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.


Re: Invalid byte 2 of 3-byte UTF-8 sequence

Posted by Gert Vanthienen <ge...@gmail.com>.
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 <le...@gmail.com>:
>
> 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.InOutImpl@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.
>
>