I've been working with the tutorial mentioned above and it runs fine in my local environment, but when I deploy to GAE JAXB is throwing the exception detailed above. I'm baffled as to why this is running locally but failing on GAE. I though the local environment was supposed to replicate the actual GAE production environment? Does anyone have any ideas? I'm really stuck with this one...
On 2 Apr, 17:37, "L. Kirven" <[email protected]> wrote: > Brian, > > I am doing exactly the same thing. I followed the blog below and didn't > have any problems. I hope that this helps. > > http://tugdualgrall.blogspot.com/2010/02/create-and-deploy-jax-rs-res... > > > > > > On Fri, Apr 2, 2010 at 9:55 AM, Brian <[email protected]> wrote: > > Hi, > > I've run into an issue with JAXB on GAE. I have set up a simple > > project using Jersey to expose a RESTful web service and am using JAXB > > for marshalling/unmarshalling. The project runs fine in my local > > eclipse environment but when I upload to GAE and send a request to the > > web service I am getting a JAXB exception (see stack trace below). I > > am using the latest version of JAXB and the latest version of GAE SDK. > > According to the white list JAXB should now be supported so I'm not > > sure what's going on. Any help to resolve this issue would be greatly > > appreciated. > > > Uncaught exception from servlet > > java.lang.ExceptionInInitializerError > > at > > > com.sun.xml.bind.v2.runtime.reflect.opt.AccessorInjector.prepare(AccessorIn > > jector.java: > > 79) > > at > > > com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(Optimi > > zedAccessorFactory.java: > > 165) > > at com.sun.xml.bind.v2.runtime.reflect.Accessor > > $FieldReflection.optimize(Accessor.java:256) > > at > > > com.sun.xml.bind.v2.runtime.property.ArrayProperty.<init>(ArrayProperty.jav > > a: > > 65) > > at > > > com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty > > .java: > > 84) > > at > > > com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayEleme > > ntProperty.java: > > 96) > > at > > > com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayE > > lementNodeProperty.java: > > 58) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown > > Source) > > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown > > Source) > > at java.lang.reflect.Constructor.newInstance(Constructor.java:33) > > at > > > com.sun.xml.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory > > .java: > > 124) > > at > > > com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java > > : > > 179) > > at > > > com.sun.xml.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.jav > > a: > > 515) > > at > > com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java: > > 330) > > at com.sun.xml.bind.v2.runtime.JAXBContextImpl > > $JAXBContextBuilder.build(JAXBContextImpl.java:1140) > > at > > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java: > > 154) > > at > > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java: > > 121) > > at > > com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java: > > 202) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > > at java.lang.reflect.Method.invoke(Unknown Source) > > at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:159) > > at javax.xml.bind.ContextFinder.find(ContextFinder.java:311) > > at javax.xml.bind.JAXBContext.newInstance(Unknown Source) > > at javax.xml.bind.JAXBContext.newInstance(Unknown Source) > > at javax.xml.bind.JAXBContext.newInstance(Unknown Source) > > at > > > com.sun.jersey.server.impl.wadl.WadlApplicationContextImpl.<init>(WadlAppli > > cationContextImpl.java: > > 66) > > at > > com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java: > > 94) > > at > > > com.sun.jersey.server.impl.application.WebApplicationImpl.initWadl(WebAppli > > cationImpl.java: > > 1207) > > at > > > com.sun.jersey.server.impl.application.WebApplicationImpl.processRootResour > > ces(WebApplicationImpl.java: > > 1106) > > at > > > com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebAppli > > cationImpl.java: > > 912) > > at > > > com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebAppli > > cationImpl.java: > > 589) > > at > > > com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletConta > > iner.java: > > 403) > > at com.sun.jersey.spi.container.servlet.ServletContainer > > $InternalWebComponent.initiate(ServletContainer.java:252) > > at > > com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java: > > 550) > > at > > com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java: > > 201) > > at > > > com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer > > .java: > > 307) > > at > > > com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer > > .java: > > 470) > > at javax.servlet.GenericServlet.init(GenericServlet.java:215) > > 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.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppV > > ersionHandlerMap.java: > > 191) > > at > > > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVers > > ionHandlerMap.java: > > 168) > > at > > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques > > t(JettyServletEngineAdapter.java: > > 123) > > at > > com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java: > > 243) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5485) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5483) > > at > > > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingAp > > plicationHandler.java: > > 24) > > at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java: > > 398) > > at com.google.net.rpc.impl.Server$2.run(Server.java:852) > > at > > com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java: > > 56) > > at > > > com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpa > > nBuilder.java: > > 536) > > at com.google.net.rpc.impl.Server.startRpc(Server.java:807) > > at com.google.net.rpc.impl.Server.processRequest(Server.java:369) > > at > > > com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.j > > ava: > > 442) > > at > > com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java: > > 319) > > at > > com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java: > > 290) > > at com.google.net.async.Connection.handleReadEvent(Connection.java: > > 474) > > at > > > com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.j > > ava: > > 831) > > at > > com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java: > > 207) > > at com.google.net.async.EventDispatcher.loop(EventDispatcher.java: > > 103) > > at > > com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java: > > 251) > > at com.google.apphosting.runtime.JavaRuntime > > $RpcRunnable.run(JavaRuntime.java:404) > > at java.lang.Thread.run(Unknown Source) > > Caused by: java.lang.SecurityException: > > java.lang.IllegalAccessException: Reflection is not allowed on > > protected final java.lang.Class > > java.lang.ClassLoader.findLoadedClass(java.lang.String) > > at com.google.appengine.runtime.Request.process- > > f4b7af1ef0914e04(Request.java) > > at com.sun.xml.bind.v2.runtime.reflect.opt.Injector > > $1.run(Injector.java:156) > > at com.sun.xml.bind.v2.runtime.reflect.opt.Injector > > $1.run(Injector.java:151) > > at > > java.security.AccessController.doPrivileged(AccessController.java: > > 34) > > at > > com.sun.xml.bind.v2.runtime.reflect.opt.Injector.<clinit>(Injector.java: > > 150) > > ... 73 more > > Caused by: java.lang.IllegalAccessException: Reflection is not allowed > > on protected final java.lang.Class > > java.lang.ClassLoader.findLoadedClass(java.lang.String) > > ... 77 more > > > -- > > 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 > > [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<google-appengine-java%2B > > [email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/google-appengine-java?hl=en. > > -- > Lazar Kirvenhttp://www.linkedin.com/in/lrkirven -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
