The root cause of the exception (copied from below) is: Caused by: java.lang.IllegalAccessException: Reflection is not allowed on > private final boolean java.util.LinkedHashMap.accessOrder >
What this means is that GWT was trying to read that private field from LinkedHashMap, and GAE doesn't allow that. GWT's LinkedHashMap_CustomFieldSerializer was updated to fix this about three months ago, but that fix didn't make it into 1.7.1. Some options are: 1) Use GWT 2.0 MS2, or the upcoming RC, which should be available any day now. 2) Patch the updated LinkedHashMap_CustomFieldSerializer from trunk into your own copy of GWT 1.7.1. On Mon, Nov 9, 2009 at 11:58 AM, CTR <[email protected]> wrote: > > My application is running flawlessly on hosted and web mode (GWT 1.7.1 > - GXT 2.0.1 - GWT-SL1.0). Once deployed on GAE , I have the following > exception: > > javax.servlet.ServletContext log: Exception while dispatching incoming > RPC call > java.lang.RuntimeException: > com.google.gwt.user.client.rpc.SerializationException: > java.lang.reflect.InvocationTargetException > at > > org.gwtwidgets.server.spring.GWTRPCServiceExporter.handleExporterProcessingException > (GWTRPCServiceExporter.java:372) > at org.gwtwidgets.server.spring.GWTRPCServiceExporter.processCall > (GWTRPCServiceExporter.java:338) > ..... > Caused by: java.lang.reflect.InvocationTargetException > at com.google.appengine.runtime.Request.process-18b9c89dd022139e > (Request.java) > 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(Method.java:40) > at > > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer > (ServerSerializationStreamWriter.java:678) > ... 63 more > Caused by: com.google.gwt.user.client.rpc.SerializationException: > Can't get accessOrder field > at > > com.google.gwt.user.client.rpc.core.java.util.LinkedHashMap_CustomFieldSerializer.getAccessOrder > (LinkedHashMap_CustomFieldSerializer.java:60) > at > > com.google.gwt.user.client.rpc.core.java.util.LinkedHashMap_CustomFieldSerializer.serialize > (LinkedHashMap_CustomFieldSerializer.java:47) > ... 68 more > Caused by: java.lang.SecurityException: > java.lang.IllegalAccessException: Reflection is not allowed on private > final boolean java.util.LinkedHashMap.accessOrder > at com.google.appengine.runtime.Request.process-18b9c89dd022139e > (Request.java) > at java.lang.reflect.Field.setAccessible(Field.java:157) > at > > com.google.gwt.user.client.rpc.core.java.util.LinkedHashMap_CustomFieldSerializer.getAccessOrder > (LinkedHashMap_CustomFieldSerializer.java:57) > ... 69 more > Caused by: java.lang.IllegalAccessException: Reflection is not allowed > on private final boolean java.util.LinkedHashMap.accessOrder > ... 71 more > > My log stops here, so it's quite difficult to figure out what's > happening. Is it the normal way to report a bug? > Please advise. > Thanks a lot. > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
