Hi,

You have a ClassNotFoundException on a Xerces class according to your
dump: so you are not using the basic xml classes to parse your xml but
also xerces.

You should add the xerces jar in you lib directory

regards

didier

On May 5, 6:16 pm, Richie <richiejr...@gmail.com> wrote:
> Hey guys,
>
> I created an app where a user can upload an xml, I display the nodes
> in a GWT table then the user selects the nodes he/she wants to
> download. Sounds easy, works perfectly in hosted mode.
>
> I use only the base xml parsing, no 3rd party jars in the project
> (aside from commons-fileupload-1.2.1.jar, commons-io-1.3.2.jar,
> gxt-2.2.3-gwt22.jar).
>
> Here's the code I use for parsing the XML:
>
> import org.w3c.dom.Document;
> import org.w3c.dom.Element;
> import org.w3c.dom.NodeList;
>
> ...
>
>         public static Document getXml(InputStream stream) throws
> ParserConfigurationException, SAXException, IOException {
>
>         DocumentBuilder parser =
> DocumentBuilderFactory.newInstance().newDocumentBuilder();
>         // Parse xml data
>         Document xml = parser.parse(stream);
>
>         return xml;
>
>     }
>
> It's working perfectly in hosted mode, but when I upload it to the
> appengine servers I get the following exception:
>
> javax.servlet.ServletException: java.lang.RuntimeException:
> java.lang.ClassNotFoundException:
> com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl
>         at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
> 240)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 542)
>         at org.mortbay.jetty.HttpConnection
> $RequestHandler.headerComplete(HttpConnection.java:923)
>         at
> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
> 76)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
> 135)
>         at
> com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
> 260)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $2.handleRequest(RuntimePb.java:9669)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 439)
>         at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
> 573)
>         at com.google.tracing.TraceContext$TraceContextRunnable
> $1.run(TraceContext.java:448)
>         at com.google.tracing.TraceContext.runInContext(TraceContext.java:
> 688)
>         at com.google.tracing.TraceContext
> $AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
> 326)
>         at com.google.tracing.TraceContext
> $AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
> 318)
>         at com.google.tracing.TraceContext
> $TraceContextRunnable.run(TraceContext.java:446)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
> 1110)
>         at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:636)
> Caused by: java.lang.RuntimeException:
> java.lang.ClassNotFoundException:
> com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl
>         at
> com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:
> 421)
>         at
> com.google.apphosting.runtime.jetty.SessionManager.createSessionFromEntity(SessionManager.java:
> 382)
>         at
> com.google.apphosting.runtime.jetty.SessionManager.loadSession(SessionManager.java:
> 320)
>         at
> com.google.apphosting.runtime.jetty.SessionManager.getSession(SessionManager.java:
> 288)
>         at
> org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession(AbstractSessionManager.java:
> 237)
>         at
> org.mortbay.jetty.servlet.SessionHandler.setRequestedId(SessionHandler.java:
> 246)
>         at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> 136)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> 765)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 418)
>         at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
> 238)
>         ... 19 more
> Caused by: java.lang.ClassNotFoundException:
> com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl
>         at
> com.google.apphosting.runtime.security.UserClassLoader.loadClass(UserClassLoader.java:
> 445)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:264)
>         at com.google.apphosting.runtime.jetty.SessionManager
> $DelegatingObjectInputStream.resolveClass(SessionManager.java:476)
>         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:
> 1592)
>         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:
> 1513)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:
> 1749)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>         at java.util.HashMap.readObject(HashMap.java:1047)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> 43)
>         at java.lang.reflect.Method.invoke(Method.java:616)
>         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:
> 991)
>         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:
> 1865)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:
> 1770)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
>         at
> com.google.apphosting.runtime.jetty.SessionManager.deserialize(SessionManager.java:
> 417)
>         ... 28 more
>
> I have a suspicion, that it's not even related to the xml parsing(the
> class it can't find says otherwise tho) because after I stripped
> EVERYTHING from my server side classes, only the method stubs
> remained, commented the imports and it still throws this exception.
>
> It's only an empty skeleton and produces this weird exception that it
> absolutely shouldn't.
>
> Please help me, I can't seem to find any solutions. :S
>
> Richie

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to