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.

Reply via email to