[jboss-jira] [JBoss JIRA] Resolved: (JBAS-4005) Error reading web.xml with external entities when taglib is used
Remy Maucherat (JIRA)
jira-events at lists.jboss.org
Wed Nov 18 12:45:29 EST 2009
[ https://jira.jboss.org/jira/browse/JBAS-4005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Remy Maucherat resolved JBAS-4005.
----------------------------------
Fix Version/s: JBossAS-5.0.0.GA
Resolution: Out of Date
Web.xml has been parsed using JBoss metadata starting with AS 5.0, which should handle XML descriptors much more cleanly.
> Error reading web.xml with external entities when taglib is used
> ----------------------------------------------------------------
>
> Key: JBAS-4005
> URL: https://jira.jboss.org/jira/browse/JBAS-4005
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Web (Tomcat) service
> Affects Versions: JBossAS-4.0.5.GA
> Environment: MacOsX, JBossAS-4.0.5
> Reporter: Angela Roberts
> Assignee: Remy Maucherat
> Fix For: JBossAS-5.0.0.GA
>
> Attachments: test.war.zip
>
>
> See the sample application attached.
> It contains a web.xml that uses an external entity:
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE web-app [ <!ENTITY inc SYSTEM "web-include.xml">]>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
> &inc;
> </web-app>
> When the first JSP of this application is called, if this JSP declares a taglib, JBoss can't find the included xml file.
> This is the stack trace:
> 18:36:57,289 ERROR [MyEntityResolver] Invalid PUBLIC ID: null
> 18:36:57,351 ERROR [MyEntityResolver] Invalid PUBLIC ID: null
> 18:36:57,358 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
> java.io.FileNotFoundException: /Applications/jboss-4.0.5.GA/bin/web-include.xml
> at org.jboss.net.protocol.file.FileURLConnection.connect(FileURLConnection.java:94)
> at org.jboss.net.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:103)
> at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
> at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
> at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown Source)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
> at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:95)
> at org.apache.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:132)
> at org.jboss.web.tomcat.tc5.jasper.TagLibCache.processWebDotXml(TagLibCache.java:162)
> at org.jboss.web.tomcat.tc5.jasper.TagLibCache.init(TagLibCache.java:99)
> at org.jboss.web.tomcat.tc5.jasper.TagLibCache.getLocation(TagLibCache.java:83)
> at org.apache.jasper.JspCompilationContext.getTldLocation(JspCompilationContext.java:526)
> at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:422)
> at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
> at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1556)
> at org.apache.jasper.compiler.Parser.parse(Parser.java:126)
> at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211)
> at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)
> at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:155)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
> at org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
> at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
> at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
> at java.lang.Thread.run(Thread.java:613)
> The same application works ok on Tomcat 5.5.
> I believe this is related to Bug http://issues.apache.org/bugzilla/show_bug.cgi?id=34034 . This bug is already fixed on Tomcat, but the way class org.jboss.web.tomcat.tc5.jasper.TagLibCache deals with entities may be the problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list