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.