Hi.

This is not a datastore problem at all, it is a GWT issue.
GWT does not compile all classes to JS, only the ones willing to be used in 
the UI. Those are listed in a serialization whitelist. Your class is just 
not in the list.
Normally this is done automatically by scanning the RPC. Sometimes is not 
done if you use this class for example as a generic. You can force the 
whitelisting by implementing the IsSerializable interface. If this still 
not work, it might be the case, you have to create dummy methods in your 
RPC.
  *public void dummy(PackageEnquiryEntity entity); *
This way the autoscan of the RPC is going to add this class to the white 
list. There isn't any other way to do so.

BTW, using persistent beans for your presentation layer is usally not a 
good practice.

Hope it helps,
Jordi.

On Monday, September 10, 2012 6:47:57 PM UTC+2, Deepak Singh wrote:
>
> Hi All,
>
>
> I have a deployed running application in following environment GWT 2.5RC1, 
> GAE 1.7.0, Objectify 3.x
>
> I deleted all previous data from DB.  Now for some reason, i changed the 
> class names of my entities. 
> All code remains same.
>
> Here i have a entity with new name as follows
>
> @Unindexed
> public class PackageEnquiryEntity implements Serializable {
>  /**
>  * 
>  */
> private static final long serialVersionUID = -8667552679106180269L;
>
>  public PackageEnquiryEntity() {
>  }
>  @Id Long id;
> @Indexed private String userIdAsEmail;
> @Indexed private Date enquiryDate;
>
>
> I am returning List<PackageEnquiryEntity> through many RPC calls.
> Everything works fine in development mode. No issue.
> But in production mode on GAE, i am getting SerializationException through 
> some of RPC calls while some RPC calls works fine with the same entity.
>
> I am confused why it fails in production. Everything was working fine in 
> production also before changing the class names of entity.
>
> Here are the exception details
>
> javax.servlet.ServletContext log: Exception while dispatching incoming RPC 
> call
> com.google.gwt.user.client.rpc.SerializationException: Type 
> 'com.pdstechi.commonmodule.shared.holiday.PackageEnquiryEntity' 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.: instance = 
> com.pdstechi.commonmodule.shared.holiday.PackageEnquiryEntity@d8a125
>       at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:665)
>       at 
> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126)
>       at 
> com.google.gwt.user.client.rpc.core.java.util.Collection_CustomFieldSerializerBase.serialize(Collection_CustomFieldSerializerBase.java:44)
>       at 
> com.google.gwt.user.client.rpc.core.java.util.ArrayList_CustomFieldSerializer.serialize(ArrayList_CustomFieldSerializer.java:39)
>       at 
> com.google.gwt.user.client.rpc.core.java.util.ArrayList_CustomFieldSerializer.serializeInstance(ArrayList_CustomFieldSerializer.java:51)
>       at 
> com.google.gwt.user.client.rpc.core.java.util.ArrayList_CustomFieldSerializer.serializeInstance(ArrayList_CustomFieldSerializer.java:28)
>       at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:786)
>       at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:667)
>       at 
> com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:126)
>       at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:153)
>       at 
> com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue(ServerSerializationStreamWriter.java:585)
>       at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:605)
>       at 
> com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess(RPC.java:471)
>       at 
> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:563)
>       at 
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
>       at 
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
>       at 
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>       at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
>       at 
> com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:141)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>       at 
> com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:102)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>       at 
> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>       at 
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
>       at 
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
>       at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
>       at 
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>       at 
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
>       at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>       at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
>       at 
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:249)
>       at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>       at org.mortbay.jetty.Server.handle(Server.java:326)
>       at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>       at 
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923)
>       at 
> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76)
>       at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>       at 
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135)
>       at 
> com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)
>       at 
> com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:452)
>       at 
> com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:458)
>       at com.google.tracing.TraceContext.runInContext(TraceContext.java:698)
>       at 
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:336)
>       at 
> com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:328)
>       at 
> com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:456)
>       at 
> com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
>       at java.lang.Thread.run(Thread.java:679)
>
>
>
>
> Thanks
> Deepak Singh
>  

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/LlT_dGpkTTUJ.
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?hl=en.

Reply via email to