You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Fernando Avalos García <fe...@hotmail.com> on 2009/05/26 09:17:39 UTC

Invalid UTF-8 middle byte 0x64

Hi, 

I am getting an error in a CXF service. I think I could solve this problem changing the encoding to ISO-8859-1. 

How could I do that?

Here is the complete stack trace.

Thanks in advance...

02:04:00,263 ERROR [STDERR] May 26, 2009 2:04:00 AM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999) 
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:629)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:527)
    at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:108)
    at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:102)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
    at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:337)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:182)
    at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
    at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:141)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
    at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
    at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)
    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3655)
    at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)
    at org.apache.cxf.staxutils.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:164)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:356)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:220)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:607)
    ... 30 more
Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
    at com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:313)
    at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:204)
    at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
    at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
    at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)
    at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4626)
    at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
    at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
    ... 37 more



_________________________________________________________________
Windows Live te ayuda a mantenerte en contacto con todos tus amigos en un solo sitio.
http://www.microsoft.com/mexico/windows/windowslive/products/social-network-connector.aspx

RE: Invalid UTF-8 middle byte 0x64

Posted by Fernando Avalos García <fe...@hotmail.com>.

Hey Ron,

I followed your suggestion. I implemented some encode and decode stuff and I works. 

Thanks a lots.

Fernando Avalos.


> Subject: RE: Invalid UTF-8 middle byte 0x64
> Date: Tue, 26 May 2009 14:16:26 -0600
> From: rgrimes@sinclairoil.com
> To: users@cxf.apache.org
> 
> Hi Fernando,
> 
> I ran across this problem before. The problem didn't originate with the service, but in the data sent to the service from the client. In my case, the user was cutting and pasting Outlook emails into a comment field, which included some characters that aren't well liked when trying to push it into an XML node. So, to fix it, I encode it on the client side, and then do a 
> 
> comment = URLDecoder.decode(comment, "UTF-8");
> 
> on the service side to decode it. That did the trick for me. 
> 
> Ron Grimes
> 
> -----Original Message-----
> From: Fernando Avalos García [mailto:fernandroide@hotmail.com] 
> Sent: Tuesday, May 26, 2009 1:18 AM
> To: users@cxf.apache.org
> Subject: Invalid UTF-8 middle byte 0x64
> 
> 
> Hi, 
> 
> I am getting an error in a CXF service. I think I could solve this problem changing the encoding to ISO-8859-1. 
> 
> How could I do that?
> 
> Here is the complete stack trace.
> 
> Thanks in advance...
> 
> 02:04:00,263 ERROR [STDERR] May 26, 2009 2:04:00 AM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
> INFO: Interceptor has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Unmarshalling Error: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999) 
>     at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:629)
>     at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:527)
>     at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:108)
>     at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:102)
>     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
>     at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
>     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:337)
>     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:182)
>     at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
>     at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:141)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
>     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
>     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
>     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
>     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
>     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
>     at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
>     at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)
>     at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3655)
>     at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)
>     at org.apache.cxf.staxutils.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:164)
>     at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:356)
>     at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:220)
>     at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
>     at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
>     at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:607)
>     ... 30 more
> Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
>     at com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:313)
>     at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:204)
>     at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
>     at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
>     at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
>     at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)
>     at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4626)
>     at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
>     at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
>     at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
>     ... 37 more
> 
> 
> 
> _________________________________________________________________
> Windows Live te ayuda a mantenerte en contacto con todos tus amigos en un solo sitio.
> http://www.microsoft.com/mexico/windows/windowslive/products/social-network-connector.aspx

_________________________________________________________________
Windows Live te ayuda a mantenerte en contacto con todos tus amigos en un solo sitio.
http://www.microsoft.com/mexico/windows/windowslive/products/social-network-connector.aspx

RE: Invalid UTF-8 middle byte 0x64

Posted by Ron Grimes <rg...@sinclairoil.com>.
Hi Fernando,

I ran across this problem before. The problem didn't originate with the service, but in the data sent to the service from the client. In my case, the user was cutting and pasting Outlook emails into a comment field, which included some characters that aren't well liked when trying to push it into an XML node. So, to fix it, I encode it on the client side, and then do a 

comment = URLDecoder.decode(comment, "UTF-8");

on the service side to decode it. That did the trick for me. 

Ron Grimes

-----Original Message-----
From: Fernando Avalos García [mailto:fernandroide@hotmail.com] 
Sent: Tuesday, May 26, 2009 1:18 AM
To: users@cxf.apache.org
Subject: Invalid UTF-8 middle byte 0x64


Hi, 

I am getting an error in a CXF service. I think I could solve this problem changing the encoding to ISO-8859-1. 

How could I do that?

Here is the complete stack trace.

Thanks in advance...

02:04:00,263 ERROR [STDERR] May 26, 2009 2:04:00 AM org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unmarshalling Error: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999) 
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:629)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:527)
    at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:108)
    at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:102)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
    at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:337)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:182)
    at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:163)
    at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:141)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.RuntimeException: [was class java.io.CharConversionException] Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
    at com.ctc.wstx.util.ExceptionUtil.throwRuntimeException(ExceptionUtil.java:18)
    at com.ctc.wstx.sr.StreamScanner.throwLazyError(StreamScanner.java:731)
    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3655)
    at com.ctc.wstx.sr.BasicStreamReader.getTextCharacters(BasicStreamReader.java:830)
    at org.apache.cxf.staxutils.DepthXMLStreamReader.getTextCharacters(DepthXMLStreamReader.java:164)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:356)
    at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:220)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)
    at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339)
    at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:607)
    ... 30 more
Caused by: java.io.CharConversionException: Invalid UTF-8 middle byte 0x64 (at char #4701, byte #3999)
    at com.ctc.wstx.io.UTF8Reader.reportInvalidOther(UTF8Reader.java:313)
    at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:204)
    at com.ctc.wstx.io.MergedReader.read(MergedReader.java:101)
    at com.ctc.wstx.io.ReaderSource.readInto(ReaderSource.java:84)
    at com.ctc.wstx.io.BranchingReaderSource.readInto(BranchingReaderSource.java:57)
    at com.ctc.wstx.sr.StreamScanner.loadMore(StreamScanner.java:992)
    at com.ctc.wstx.sr.BasicStreamReader.readTextSecondary(BasicStreamReader.java:4626)
    at com.ctc.wstx.sr.BasicStreamReader.readCoalescedText(BasicStreamReader.java:4124)
    at com.ctc.wstx.sr.BasicStreamReader.finishToken(BasicStreamReader.java:3699)
    at com.ctc.wstx.sr.BasicStreamReader.safeFinishToken(BasicStreamReader.java:3647)
    ... 37 more



_________________________________________________________________
Windows Live te ayuda a mantenerte en contacto con todos tus amigos en un solo sitio.
http://www.microsoft.com/mexico/windows/windowslive/products/social-network-connector.aspx