Uploaded image for project: 'OFBiz'
  1. OFBiz
  2. OFBIZ-6993

Cannot find the declaration of element 'web-app' in version 3.0 files.

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Release Branch 15.12, Trunk
    • Fix Version/s: 18.12.01, 17.12.01, 17.12.04
    • Component/s: ALL COMPONENTS
    • Labels:
      None
    • Flags:
      Patch

      Description

      Been seeing the error below in the logs. Strangely, I've not been able to catch the exception in a debugger, but was able to isolate it to the definition of the web-app with version 3.0. The error disapears when you change the definition from

      <web-app version="3.0">
      

      to this:

      <web-app version="3.0"
               xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      

      I only tested on 15.12 and Trunk, but it probably affects any release running Tomcat 7.0.48 or higher. Here is the error:

           [java] Apr 07, 2016 4:06:29 PM org.apache.tomcat.util.digester.Digester error
           [java] SEVERE: Parse Error at line 22 column 24: cvc-elt.1.a: Cannot find the declaration of element 'web-app'.
           [java] org.xml.sax.SAXParseException; lineNumber: 22; columnNumber: 24; cvc-elt.1.a: Cannot find the declaration of element 'web-app'.
           [java] 	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
           [java] 	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
           [java] 	at org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
           [java] 	at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElementAfterName(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
           [java] 	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
           [java] 	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
           [java] 	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
           [java] 	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
           [java] 	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
           [java] 	at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
           [java] 	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1555)
           [java] 	at org.ofbiz.webapp.WebAppUtil.parseWebXmlFile(WebAppUtil.java:160)
           [java] 	at org.ofbiz.webapp.WebAppUtil.getWebXml(WebAppUtil.java:131)
           [java] 	at org.ofbiz.webapp.WebAppUtil.getControlServletPath(WebAppUtil.java:67)
           [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           [java] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           [java] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           [java] 	at java.lang.reflect.Method.invoke(Method.java:498)
           [java] 	at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1458)
           [java] 	at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:71)
           [java] 	at freemarker.core.MethodCall._eval(MethodCall.java:62)
           [java] 	at freemarker.core.Expression.eval(Expression.java:78)
           [java] 	at freemarker.core.Assignment.accept(Assignment.java:70)
           [java] 	at freemarker.core.Environment.visit(Environment.java:312)
           [java] 	at freemarker.core.MixedContent.accept(MixedContent.java:62)
           [java] 	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
           [java] 	at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:148)
           [java] 	at freemarker.core.Environment.visitIteratorBlock(Environment.java:559)
           [java] 	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67)
           [java] 	at freemarker.core.Environment.visit(Environment.java:312)
           [java] 	at freemarker.core.MixedContent.accept(MixedContent.java:62)
           [java] 	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
           [java] 	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
           [java] 	at freemarker.core.Environment.visit(Environment.java:312)
           [java] 	at freemarker.core.MixedContent.accept(MixedContent.java:62)
           [java] 	at freemarker.core.Environment.visit(Environment.java:312)
           [java] 	at freemarker.core.Environment.process(Environment.java:290)
           [java] 	at org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplate(FreeMarkerWorker.java:257)
           [java] 	at org.ofbiz.widget.model.HtmlWidget.renderHtmlTemplate(HtmlWidget.java:167)
           [java] 	at org.ofbiz.widget.model.HtmlWidget$HtmlTemplate.renderWidgetString(HtmlWidget.java:216)
           [java] 	at org.ofbiz.widget.model.HtmlWidget.renderWidgetString(HtmlWidget.java:140)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$PlatformSpecific.renderWidgetString(ModelScreenWidget.java:1319)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:294)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
           [java] 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164)
           [java] 	at org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:211)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:780)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
           [java] 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164)
           [java] 	at org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:211)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:860)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98)
           [java] 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280)
           [java] 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164)
           [java] 	at org.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:136)
           [java] 	at org.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:98)
           [java] 	at org.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render(MacroScreenViewHandler.java:157)
           [java] 	at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:1023)
           [java] 	at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:675)
           [java] 	at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:213)
           [java] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
           [java] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
           [java] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
           [java] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
           [java] 	at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:323)
           [java] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
           [java] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
           [java] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
           [java] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
           [java] 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
           [java] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
           [java] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
           [java] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
           [java] 	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
           [java] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
           [java] 	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
           [java] 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
           [java] 	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
           [java] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
           [java] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
           [java] 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
           [java] 	at java.lang.Thread.run(Thread.java:745)
      

        Attachments

        1. web-app.patch
          41 kB
          Forrest Rae
        2. 0001-Fixed-when-it-comes-to-web.xml-we-should-rely-solely.patch
          4 kB
          Samuel Trégouët

          Issue Links

            Activity

              People

              • Assignee:
                jleroux Jacques Le Roux
                Reporter:
                fbr@14x.net Forrest Rae
              • Votes:
                1 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: