It looks like returning the list of detachable objects attempts to send a
list of generic Object instances over the wire. The Object class doesn't
implement Serializable so GWT will trigger an exception.

Try doing something like the following and see if the error goes away:

List<MySerializableClass> myList = (List<MySerializableClass>)
pm.detachCopyAll(results);
return myList;

Also note that you cannot return a List of query results directly since the
List class used to store the results doesn't implement Serializable either.
To get around this, you can create a new ArrayList or other Serializable
List, copy all of your result objects into it, and return this new list
instead.

- Jason

On Fri, Oct 30, 2009 at 6:52 AM, Patrizio Munzi <patrizio.mu...@eris4.com>wrote:

>  Hi all,
>
> a strange thing happens when I try to serialize via RPC a list of
> PersitentCapable objects after having called detachCopyAll().
> If the PersistentCapable objects have the property detachable=true the
> serialization throw the following exception.
> Instead if the property detachable=true isn't set everything works fine.
>
> Do you have any idea what's the problem???
>
> Regards
>
> --------------------------
> SEVERE: [1256913851734000] javax.servlet.ServletContext log: Exception
> while dispatching incoming RPC call
> com.google.gwt.user.client.rpc.SerializationException: Type
> '[Ljava.lang.Object;' was not included in the set of types which can be
> serialized by this SerializationPolicy or its Class object could not be
> loaded. For security purposes, this type will not be serialized.
>     at
> com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy.validateSerialize(StandardSerializationPolicy.java:83)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:591)
>     at
> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:146)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:530)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:636)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:666)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeClass(ServerSerializationStreamWriter.java:648)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:666)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:593)
>     at
> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$VectorWriter$8.write(ServerSerializationStreamWriter.java:247)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeArray(ServerSerializationStreamWriter.java:613)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:661)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:593)
>     at
> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:146)
>     at
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:530)
>     at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:573)
>     at
> com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:441)
>     at
> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:529)
>     at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:166)
>     at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> [...]
> --------------------------
>
>
> >
>

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