I am referring this tutorial for creating rest webservice and deploying in GAE. This tutorial is works fine and I am able to run locally without any problem. Even I am able to deploy in GAE successfully. But when I am trying to access the url, I am getting following error
Error: Server Error The server encountered an error and could not
complete your request.If the problem persists, please report your problem and mention this
error message and the query that caused it.
and GAE log contains this message
Uncaught exception from servlet
java.lang.IncompatibleClassChangeError: Implementing class at
com.google.appengine.runtime.Request.process-78db28d34b15c040(Request.java)
at java.lang.ClassLoader.defineClass1(Native Method) at
java.lang.ClassLoader.defineClass(ClassLoader.java:634) at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at
sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616) at
java.lang.ClassLoader.loadClass(ClassLoader.java:266) at
com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:79)
at
com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104)
at
com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:78)
at
com.sun.jersey.api.core.PackagesResourceConfig.(PackagesResourceConfig.java:89)
at
com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700)
at
com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678)
at
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203)
at
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374)
at
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557)
at javax.servlet.GenericServlet.init(GenericServlet.java:212) at
org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)
at
org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at
org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at
org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at
org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at
org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at
com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:452)
at
com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:458)
at
com.google.tracing.TraceContext.runInContext(TraceContext.java:698)
at
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:336)
at
com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:328)
at
com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:456)
at java.lang.Thread.run(Thread.java:679)
Please anyone let me what I am doing wrong.
as already mentioned above, this is due to an incompatibility between asm.3.1.jar and asm-4.0.jar. To resolve this problem, make sure that references to 4.0 are removed and you use Datanucelus API 1.0 since 2.0 needs 4.0 of asm.
I have written more in-depth about this issue here:
Problems with GAE 1.7.2 and Jersey