Hi, I have had a similar problem some time ago and it turned to be XML compiler issue that is solved if the container is directed to use appropriate version of XML compiler. What worked for me is the following settings in web.xml:
<system-property javax.xml.parsers.DocumentBuilderFactory= "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> <system-property javax.xml.parsers.SAXParserFactory= "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"/> regards, Milorad >________________________________ > From: Bart van Leeuwen <[email protected]> >To: [email protected] >Sent: Tuesday, August 28, 2012 11:02 AM >Subject: Sparql 11 Remote Update Query in J2EE container > >Hi List, > >I'm having a issue with Jena Update in a J2EE deployed servlet >1) J2EE container is geronimo v3 >2) Jena is version 2.7.3 > >I like to have a servlet do a Sparql11 update request to a remote 1.1 >store. > >When I create a standalone java application and run the code it works >fine, when I use the same code in a servlet I run into a class not found >exception >The package deployed to the server does contain all the right jars. > >I'm not sure if this is a Jena or Geronimo issue. > >Code: > >UpdateRequest update = UpdateFactory.create("insert data { GRAPH < >http://example.com> { <http://example/book1> <http://blah> 42 } >}",Syntax.syntaxSPARQL_11); >UpdateProcessRemote firebrary = (UpdateProcessRemote) >UpdateExecutionFactory.createRemote(update, " >http://localhost:3030/firebrary/update"); >firebrary.execute(); > >Exception: > >com.hp.hpl.jena.query.QueryParseException: org/w3c/dom/ElementTraversal > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:86) > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate.parse$(ParserARQUpdate.java:41) >com.hp.hpl.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:42) > com.hp.hpl.jena.update.UpdateFactory.make(UpdateFactory.java:84) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:75) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:53) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:43) > tester.Tester.go(Tester.java:26) > info.resc.sandbox.GenericTest.doGet(GenericTest.java:43) > javax.servlet.http.HttpServlet.service(HttpServlet.java:575) > javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > >root cause > >java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal > java.lang.ClassLoader.defineClass1(Native Method) > java.lang.ClassLoader.defineClass(ClassLoader.java:791) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.defineClass(GeronimoClassLoader.java:213) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:601) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.findLocalClass(GeronimoClassLoader.java:237) > >org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > >org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85) > java.lang.ClassLoader.loadClass(ClassLoader.java:356) > org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown >Source) > org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown >Source) > org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown >Source) >org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown >Source) > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > org.apache.xerces.parsers.DOMParser.parse(Unknown Source) > org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) > java.util.XMLUtils.getLoadingDoc(XMLUtils.java:102) > java.util.XMLUtils.load(XMLUtils.java:74) > java.util.Properties.loadFromXML(Properties.java:868) > com.hp.hpl.jena.util.Metadata.read(Metadata.java:80) > com.hp.hpl.jena.util.Metadata.addMetadata(Metadata.java:54) > com.hp.hpl.jena.util.Metadata.<init>(Metadata.java:48) > com.hp.hpl.jena.JenaRuntime.<clinit>(JenaRuntime.java:37) > >com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.<clinit>(RDFReaderFImpl.java:74) > com.hp.hpl.jena.rdf.model.impl.ModelCom.<clinit>(ModelCom.java:54) > >com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:142) > >com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:136) > com.hp.hpl.jena.vocabulary.OWL.<clinit>(OWL.java:37) > com.hp.hpl.jena.sparql.graph.NodeConst.<clinit>(NodeConst.java:41) > com.hp.hpl.jena.sparql.lang.ParserBase.<init>(ParserBase.java:55) > >com.hp.hpl.jena.sparql.lang.ParserQueryBase.<init>(ParserQueryBase.java:39) > >com.hp.hpl.jena.sparql.lang.arq.ARQParserBase.<init>(ARQParserBase.java:26) >com.hp.hpl.jena.sparql.lang.arq.ARQParser.<init>(ARQParser.java:6613) > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:62) > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate.parse$(ParserARQUpdate.java:41) >com.hp.hpl.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:42) > com.hp.hpl.jena.update.UpdateFactory.make(UpdateFactory.java:84) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:75) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:53) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:43) > tester.Tester.go(Tester.java:26) > info.resc.sandbox.GenericTest.doGet(GenericTest.java:43) > javax.servlet.http.HttpServlet.service(HttpServlet.java:575) > javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > >root cause > >java.lang.ClassNotFoundException: org.w3c.dom.ElementTraversal > >org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:467) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85) > java.lang.ClassLoader.loadClass(ClassLoader.java:356) > java.lang.ClassLoader.defineClass1(Native Method) > java.lang.ClassLoader.defineClass(ClassLoader.java:791) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.defineClass(GeronimoClassLoader.java:213) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:601) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:567) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:490) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:478) > >org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:458) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.findLocalClass(GeronimoClassLoader.java:237) > >org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:400) > >org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:476) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) > >org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) > >org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85) > java.lang.ClassLoader.loadClass(ClassLoader.java:356) > org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown >Source) > org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown >Source) > org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown >Source) >org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown >Source) > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) > org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > org.apache.xerces.parsers.DOMParser.parse(Unknown Source) > org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) > java.util.XMLUtils.getLoadingDoc(XMLUtils.java:102) > java.util.XMLUtils.load(XMLUtils.java:74) > java.util.Properties.loadFromXML(Properties.java:868) > com.hp.hpl.jena.util.Metadata.read(Metadata.java:80) > com.hp.hpl.jena.util.Metadata.addMetadata(Metadata.java:54) > com.hp.hpl.jena.util.Metadata.<init>(Metadata.java:48) > com.hp.hpl.jena.JenaRuntime.<clinit>(JenaRuntime.java:37) > >com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.<clinit>(RDFReaderFImpl.java:74) > com.hp.hpl.jena.rdf.model.impl.ModelCom.<clinit>(ModelCom.java:54) > >com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:142) > >com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:136) > com.hp.hpl.jena.vocabulary.OWL.<clinit>(OWL.java:37) > com.hp.hpl.jena.sparql.graph.NodeConst.<clinit>(NodeConst.java:41) > com.hp.hpl.jena.sparql.lang.ParserBase.<init>(ParserBase.java:55) > >com.hp.hpl.jena.sparql.lang.ParserQueryBase.<init>(ParserQueryBase.java:39) > >com.hp.hpl.jena.sparql.lang.arq.ARQParserBase.<init>(ARQParserBase.java:26) >com.hp.hpl.jena.sparql.lang.arq.ARQParser.<init>(ARQParser.java:6613) > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate._parse(ParserARQUpdate.java:62) > >com.hp.hpl.jena.sparql.lang.ParserARQUpdate.parse$(ParserARQUpdate.java:41) >com.hp.hpl.jena.sparql.lang.UpdateParser.parse(UpdateParser.java:42) > com.hp.hpl.jena.update.UpdateFactory.make(UpdateFactory.java:84) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:75) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:53) > com.hp.hpl.jena.update.UpdateFactory.create(UpdateFactory.java:43) > tester.Tester.go(Tester.java:26) > info.resc.sandbox.GenericTest.doGet(GenericTest.java:43) > javax.servlet.http.HttpServlet.service(HttpServlet.java:575) > javax.servlet.http.HttpServlet.service(HttpServlet.java:668) > >Met Vriendelijke Groet / With Kind Regards >Bart van Leeuwen >@semanticfire > >############################################################## ># netage.nl ># http://netage.nl ># Enschedepad 76 ># 1324 GJ Almere ># The Netherlands ># tel. +31(0)36-5347479 >############################################################## > >
