Scott,

First, shame on Xerces for not throwing a SAXParseException in this
case. This means that we do not show the file in which the error
happens. I have fixed this in OXF, which will now show the file
name.

Your actual problem is very typical. By default (without encoding
specified in the XML declaration), XML is encoded in UTF-8. If you use
an editor which is not encoding-aware and typically assuming an
ISO-8859-1 encoding, and you insert characters such as accented
letters, curly quotes, etc., you will get this error. As a workaround,
you can put an XML declaration with the ISO-8859-1 encoding at the top
of your XML file:

<?xml version="1.0" encoding="ISO-8859-1"?>

You can also use an editor which knows how to handle UTF-8.

In your case it is also possible that somebody inserted incorrect
characters by accident, and you can just remove those and then decide
which encoding you want to use. UTF-8 gives you the whole range of
Unicode, while ISO-8859-1 gives you a limited set of characters that
work for the Western languages.

I hope this helps,

-Erik

Scott McMullan wrote:

> Hi,
>
> I'm having a problem accessing the simple login page of our app that hasn't
> changed in many moons.  Does this exception mean anything to anybody?
>
> Thanks for any help.
>
> -Scott McMullan
> UCB Center for Document Engineering
>
>
> Time: 4:15:55 PM  Priority: ERROR  Thread: Thread-5  NDC: null Category:
> org.orbeon.oxf.servlet.ProcessorService Location:
> org.orbeon.oxf.servlet.ProcessorService.service(ProcessorService.java:335)
> Message:
> Exception with no location data
> Throwable:
> java.io.UTFDataFormatException: Invalid byte 3 of 3-byte UTF-8 sequence.
>    at orbeon.apache.xerces.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:693)
>    at orbeon.apache.xerces.impl.io.UTF8Reader.read(UTF8Reader.java:445)
>    at
> orbeon.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManag
> er.java:3487)
>    at
> orbeon.apache.xerces.impl.XMLEntityManager$EntityScanner.skipChar(XMLEntityM
> anager.java:3087)
>    at
> orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDisp
> atcher.dispatch(XMLDocumentFragmentScannerImpl.java:1465)
>    at
> orbeon.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDoc
> umentFragmentScannerImpl.java:346)
>    at
> orbeon.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:52
> 9)
>    at
> orbeon.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:58
> 5)
>    at orbeon.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
>    at
> orbeon.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:
> 1142)
>    at
> org.orbeon.oxf.processor.generator.URLGenerator$1.readImpl(URLGenerator.java
> :251)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java:
> 18)
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:
> 33)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:3
> 00)
>    at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:324)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.
> java:371)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.j
> ava:322)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$ConcreteChooseProcessor.st
> art(ChooseProcessor.java:354)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$3.readImpl(ChooseProcessor
> .java:310)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:287
> )
>    at
> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java
> :24)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.
> java:90)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce
> ssor.java:88)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1500(PipelineProc
> essor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$6.run(PipelineProcessor.
> java:395)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeParents(ProcessorImpl.java:432
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1600(PipelineProc
> essor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readIm
> pl(PipelineProcessor.java:393)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1500(PipelineProc
> essor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$6.run(PipelineProcessor.
> java:395)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeParents(ProcessorImpl.java:432
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$1600(PipelineProc
> essor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$InternalTopOutput.readIm
> pl(PipelineProcessor.java:393)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java:
> 18)
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:
> 33)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:287
> )
>    at
> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java
> :24)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.
> java:90)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce
> ssor.java:88)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$3.readImpl(ChooseProcessor
> .java:312)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:287
> )
>    at
> org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java
> :24)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.
> java:90)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce
> ssor.java:88)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:3
> 00)
>    at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:324)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.
> java:371)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.j
> ava:322)
>    at org.orbeon.oxf.processor.XFormsOutput$1.readImpl(XFormsOutput.java:62)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.
> java:90)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce
> ssor.java:88)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$3.readImpl(ChooseProcessor
> .java:312)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.
> java:90)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProce
> ssor.java:55)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProce
> ssor.java:88)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$3.readImpl(ChooseProcessor
> .java:312)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java:
> 18)
>    at
> org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:
> 33)
>    at org.orbeon.oxf.processor.ProcessorImpl$5.read(ProcessorImpl.java:784)
>    at
> org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImp
> l.java:898)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:283
> )
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:3
> 00)
>    at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:324)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.
> java:371)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.j
> ava:322)
>    at
> org.orbeon.oxf.processor.pipeline.ChooseProcessor$ConcreteChooseProcessor.st
> art(ChooseProcessor.java:354)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor
> .java:474)
>    at
> org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:41
> 7)
>    at
> org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.
> java:472)
>    at
> org.orbeon.oxf.processor.WebAppControllerProcessor.start(WebAppControllerPro
> cessor.java:300)
>    at
> org.orbeon.oxf.servlet.ProcessorService.service(ProcessorService.java:292)
>    at
> org.orbeon.oxf.servlet.ProcessorServlet.service(ProcessorServlet.java:40)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>    at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:247)
>    at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:193)
>    at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:256)
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>    at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:191)
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>    at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
> .java:494)
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>    at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
>    at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
> )
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>    at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:171)
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>    at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
> )
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:641)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>    at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :174)
>    at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:643)
>    at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
>    at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
>    at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
> ction(Http11Protocol.java:392)
>    at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
>    at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:619)
>    at java.lang.Thread.run(Thread.java:536)

_______________________________________________
oxf-users mailing list
[EMAIL PROTECTED]
http://mail.orbeon.com/mailman/listinfo/oxf-users

Reply via email to