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
-~----------~----~----~----~------~----~------~--~---

Reply via email to