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(AccessorInjector.java:
79)
        at
com.sun.xml.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.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.java:
65)
        at
com.sun.xml.bind.v2.runtime.property.ArrayERProperty.<init>(ArrayERProperty.java:
84)
        at
com.sun.xml.bind.v2.runtime.property.ArrayElementProperty.<init>(ArrayElementProperty.java:
96)
        at
com.sun.xml.bind.v2.runtime.property.ArrayElementNodeProperty.<init>(ArrayElementNodeProperty.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.java:
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>(WadlApplicationContextImpl.java:
66)
        at com.sun.jersey.server.impl.wadl.WadlFactory.init(WadlFactory.java:
94)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.initWadl(WebApplicationImpl.java:
1207)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.processRootResources(WebApplicationImpl.java:
1106)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:
912)
        at
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:
589)
        at
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.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(AppVersionHandlerMap.java:
191)
        at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:
168)
        at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(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(BlockingApplicationHandler.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(LocalTraceSpanBuilder.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.java:
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.java:
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 google-appengine-j...@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