Page 1 of 1

WURFL 1.8.0.0: Parsing exception during load

Posted: Sun Sep 11, 2016 8:03 am
by ofer@youappi.com
Hi,

During load of the latest xml, the following error occurs:
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.

The file attachment is not working in your site, so I embedded the stack trace in the message

com.scientiamobile.wurfl.core.exc.WURFLRuntimeException: WURFL unexpected exception
at com.scientiamobile.wurfl.core.GeneralWURFLEngine.initIfNeeded(GeneralWURFLEngine.java:340) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.GeneralWURFLEngine.getDeviceForRequest(GeneralWURFLEngine.java:461) ~[wurfl-1.8.0.0.jar:na]
at com.youappi.application.utils.DeviceUtils.getDevice(DeviceUtils.java:21) ~[application-1.0.jar:na]
at com.youappi.webapp.inject.GuiceServletConfig.contextInitialized(GuiceServletConfig.java:123) ~[classes/:na]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4716) [catalina.jar:8.5.4]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178) [catalina.jar:8.5.4]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) [catalina.jar:8.5.4]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) [catalina.jar:8.5.4]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) [catalina.jar:8.5.4]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.4]
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1702) [catalina.jar:8.5.4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.5.4]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0_101]
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0_101]
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:482) [catalina.jar:8.5.4]
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:431) [catalina.jar:8.5.4]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) [tomcat-coyote.jar:8.5.4]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) [na:1.8.0_101]
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) [na:1.8.0_101]
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) [na:1.8.0_101]
at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) [na:1.8.0_101]
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) [na:1.8.0_101]
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) [na:1.8.0_101]
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) [na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) [na:1.8.0_101]
at sun.rmi.transport.Transport$1.run(Transport.java:200) [na:1.8.0_101]
at sun.rmi.transport.Transport$1.run(Transport.java:197) [na:1.8.0_101]
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_101]
at sun.rmi.transport.Transport.serviceCall(Transport.java:196) [na:1.8.0_101]
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) [na:1.8.0_101]
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) [na:1.8.0_101]
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) [na:1.8.0_101]
at java.security.AccessController.doPrivileged(Native Method) [na:1.8.0_101]
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) [na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_101]
Caused by: com.scientiamobile.wurfl.core.resource.exc.WURFLResourceException: WURFL unexpected exception
at com.scientiamobile.wurfl.core.resource.XMLResource.readData(XMLResource.java:369) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.resource.XMLResource.getData(XMLResource.java:173) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.resource.DefaultWURFLModel.init(DefaultWURFLModel.java:114) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.resource.DefaultWURFLModel.<init>(DefaultWURFLModel.java:106) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.GeneralWURFLEngine.init(GeneralWURFLEngine.java:358) ~[wurfl-1.8.0.0.jar:na]
at com.scientiamobile.wurfl.core.GeneralWURFLEngine.initIfNeeded(GeneralWURFLEngine.java:337) ~[wurfl-1.8.0.0.jar:na]
... 48 common frames omitted
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1465) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:999) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:504) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643) ~[na:1.8.0_101]
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327) ~[na:1.8.0_101]
at javax.xml.parsers.SAXParser.parse(SAXParser.java:195) ~[na:1.8.0_101]
at com.scientiamobile.wurfl.core.resource.XMLResource.readData(XMLResource.java:367) ~[wurfl-1.8.0.0.jar:na]
... 53 common frames omitted

Re: WURFL 1.8.0.0: Parsing exception during load

Posted: Mon Sep 12, 2016 11:05 am
by aaronp
Hi Ofer,

Thank you for providing the stack trace. We are looking into the issue and will follow up with you as we learn more. In the meantime, are you able to check if you have a whitespace in front of the XML declaration? The `Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog.` error is typically thrown by the Java XML parser when data is encountered before the `<?xml...` declaration.

Please feel free to update us with any further information you think maybe useful.

Thanks,

Aaron

Re: WURFL 1.8.0.0: Parsing exception during load

Posted: Sun Sep 18, 2016 2:35 am
by ofer@youappi.com
Hi Aaron,

I could not find any chararacter before the `<?xml...` declaration.
I checked with hex editor; there is nothing there...

Since the file upload is not working in your site, I will be happy to get an email so I can upload the wurfl.xml or or any other file that will help you to provide quick resolution.

Thanks,

Ofer

Re: WURFL 1.8.0.0: Parsing exception during load

Posted: Mon Sep 19, 2016 10:24 am
by aaronp
Hi Ofer!

Please feel free to send the file and any further detail over to support@scientiamobile.com and we will take a deeper look.

Thanks,

Aaron