Hi there, I've been trying to run a DOMParser as a servlet with Apache/Tomcat and have run into some problems. The behavior is different from running it standalone. Standalone, the parser verified the files I want, no problems.
First: When setting validation, namespaces and schemasupport to true, I get an exception (see below). I never get exceptions when setting two of the three in any combination. Second: The parser does not seem to be able to find the schema to verify. I have tried both with http-urls and to place the files locally on the machine. When setting validation and schemasupport I get the error: [Error] first.xml:2.106: Element type "test" must be declared. Any ideas what the problem might be? Thanks! /Peter ---------------------------------------------- first.xml <?xml version="1.0" encoding="UTF-8"?> <test xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://somehost/first.xsd"> <complex> <comp1>Kaka</comp1> <comp2>1234</comp2> </complex> </test> first.xsd <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"> <xsd:element name="test"> <xsd:complexType> <xsd:sequence> <xsd:element name="complex" type="comptype"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="comptype"> <xsd:sequence> <xsd:element name="comp1" type="xsd:string"/> <xsd:element name="comp2" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> </xsd:schema> -------------------------------------------------------------------------------------------- Internal Servlet Error: java.lang.NoSuchMethodError at org.apache.xerces.parsers.DOMParser.startElement(DOMParser.java:1043) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:965) at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1858) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1001) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952) at org.apache.xerces.validators.common.XMLValidator.resolveSchemaGrammar(XMLValidator.java:2437) at org.apache.xerces.validators.common.XMLValidator.bindNamespacesToElementAndAttributes(XMLValidator.java:2325) at org.apache.xerces.validators.common.XMLValidator.callStartElement(XMLValidator.java:921) at org.apache.xerces.framework.XMLDocumentScanner.scanElement(XMLDocumentScanner.java:1858) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch(XMLDocumentScanner.java:1001) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:991) at Parser.doGet(Parser.java:41) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484)
