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:[email protected]] 
Sent: Tuesday, May 26, 2009 1:18 AM
To: [email protected]
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

Reply via email to