cancel
Showing results for 
Search instead for 
Did you mean: 

Validation error: taglib : Element is not allowed

Former Member
0 Kudos

I am seeing a strange error in NetWeaver AS Java 7.40 when trying to deploy an EAR file to NetWeaver AS Java, that does not occur in Jetty, Tomcat, or Cloud Foundry:

#2.#2013 07 22 15:03:37:686#+00#Error#com.sap.engine.services.servlets_jsp.server.deploy.ApplicationThreadInitializer#

com.sap.ASJ.web.000078#BC-JAS-WEB#servlet_jsp#C0000A024D7900C10000000000000EBA#4507450000000038#sap.com/eds-ear#com.sap.engine.services.servlets_jsp.server.deploy.ApplicationThreadInitializer#Guest#0##7CD75EB604B41000BEA287D948985CC0#7cd75eb604b41000bea287d948985cc0#7cd75eb604b41000bea287d948985cc0#0#Application [49]#Plain##

Error in parsing [META-INF/taglib.tld] TLD file.

[EXCEPTION]

com.sap.engine.lib.xml.parser.NestedSAXParseException: Fatal Error: org.xml.sax.SAXParseException: Validation error : line: 3; col: 8; {}:taglib : Element is not allowed.(:main:, row=4, col=0) -> org.xml.sax.SAXParseException: Validation error : line: 3; col: 8; {}:taglib : Element is not allowed.

        at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:141)

        at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:175)

        at com.sap.engine.lib.processor.SchemaProcessor.parse(SchemaProcessor.java:195)

        at com.sap.engine.services.servlets_jsp.server.deploy.descriptor.TagLibDescriptor.loadDescriptorFromStream(TagLibDescriptor.java:104)

        at com.sap.engine.services.servlets_jsp.server.deploy.ApplicationThreadInitializer.processTld(ApplicationThreadInitializer.java:584)

        at com.sap.engine.services.servlets_jsp.server.deploy.ApplicationThreadInitializer.run(ApplicationThreadInitializer.java:214)

        at com.sap.engine.services.deploy.server.utils.concurrent.impl.CleanRunnable.run(CleanRunnable.java:54)

        at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

        at java.security.AccessController.doPrivileged(Native Method)

        at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:185)

        at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:302)

Caused by: org.xml.sax.SAXParseException: Validation error : line: 3; col: 8; {}:taglib : Element is not allowed.

        at com.sap.engine.lib.schema.validator.SchemaDocHandler.collectError(SchemaDocHandler.java:903)

        at com.sap.engine.lib.schema.validator.SchemaDocHandler.collectError(SchemaDocHandler.java:897)

        at com.sap.engine.lib.schema.validator.SchemaDocHandler.initElementXPathStep_Error(SchemaDocHandler.java:525)

        at com.sap.engine.lib.schema.validator.SchemaDocHandler.startElementEnd(SchemaDocHandler.java:340)

        at com.sap.engine.lib.xml.parser.XMLParser.scanElement(XMLParser.java:1828)

        at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2862)

        at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:235)

        at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)

        at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)

        at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)

        at com.sap.engine.lib.xml.parser.Parser.parse_SchemaValidation(Parser.java:241)

        at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:288)

        at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:103)

        ... 10 more

When grepping through my EAR's dependencies, I see that the only JAR that includes META-INF/taglib.tld is jersey-server-1.14.jar.

Its contents look like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name>jerseyview</short-name>
  <uri>urn:com:sun:jersey:api:view</uri>
  <description>
    The tag library contains tags that takes advantage of
    the request dispatching mechanism.
  </description>
  <tag>
    <name>include</name>
    <tag-class>com.sun.jersey.server.impl.container.servlet.Include</tag-class>
    <body-content>empty</body-content>
    <attribute>
      <name>page</name>
      <required>yes</required>
      <rtexprvalue>yes</rtexprvalue>
    </attribute>
    <attribute>
      <name>resource</name>
      <required>no</required>
      <rtexprvalue>yes</rtexprvalue>
    </attribute>
  </tag>
</taglib>

Is there something wrong with the above taglib.tld file? If so, I will repackage it with a fix, but it seems strange that this error is occurring on NetWeaver and not on two other application servers.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Kevin,

Did you found root cause and solution for this reported issue?

We are also getting similar error captured in NWA developer trace.

"Error in parsing [META-INF/taglib.tld] TLD file.

[EXCEPTION]

com.sap.engine.lib.xml.parser.NestedSAXParseException: Fatal Error: org.xml.sax.SAXParseException: Validation error : line: 5; col: 8; {}:taglib : Element is not allowed.(:main:, row=5, col=8) -> org.xml.sax.SAXParseException: Validation error : line: 5; col: 8; {}:taglib : Element is not allowed."

Error Location is :

com.sap.engine.services.servlets_jsp.server.deploy.ApplicationThreadInitializer


Runtime component: servlet_jsp

BC-JAS-WEB

Looking forward to hear your reply.

Best Regards,

Dhanraj Dange


Former Member
0 Kudos

Hi Dhanraj,

Unfortunately I did not find the root cause of this issue, but I strongly suspect it to be a class loader/dependency issue. I worked around the issue by separating out the WAR that I had containing this dependency into its own EAR for the time being. A bit of cop-out, but I have been struggling for a few weeks to get our application successfully ported to NetWeaver and just wanted to move past this for the time being.

Regards,

Kevin