Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: UNRESOLVED
    • Affects Version/s: 1.1
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      Windows XP
      GWT 1.5
    • Number of attachments :
      1

      Description

      Hi,

      I cannot launch a GWT app in hosted mode with the gwt:run goal. I get a serialization error :
      [INFO] StandardContext[]ERROR: The serialization policy file '/test.GMavenTest/3D8C9ED7A7ACB57FC755C1283A84575C.gwt.rpc' was not found; did you forget to include it in this deployment?
      [INFO] StandardContext[]WARNING: Failed to get the SerializationPolicy '3D8C9ED7A7ACB57FC755C1283A84575C' for module 'http://localhost:8888/test.GMavenTest/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result.

      And then I get serialization exceptions.

      Look at the attached sample project.

        Activity

        Hide
        Mathieu Boniface added a comment -

        It seems this is not due to gwt-maven-plugin.

        Try to implements IsSerializable instead of Serializable in your ServiceDTO class, this should work.

        Show
        Mathieu Boniface added a comment - It seems this is not due to gwt-maven-plugin. Try to implements IsSerializable instead of Serializable in your ServiceDTO class, this should work.
        Hide
        Dane Hammer added a comment -

        Maybe this isn't a bug, then, but I'm having the same issue. When I build my project with maven using the gwt-maven-plugin's compile and generateAsync goals, if there has been a change to serialized classes in my project that would require a change to the serialization policy file and/or files that reference it (the .gwt.rpc file), those changes are not reflected. I get the serialization policy not found error message, referencing a policy name that is not the name of the .gwt.rpc file packaged up.

        Workaround: Run GWT Compile with the Google Eclipse Plugin on the project before packaging. This surprises me, though, because even when I do "mvn clean package" this still solves the problem.

        Show
        Dane Hammer added a comment - Maybe this isn't a bug, then, but I'm having the same issue. When I build my project with maven using the gwt-maven-plugin's compile and generateAsync goals, if there has been a change to serialized classes in my project that would require a change to the serialization policy file and/or files that reference it (the .gwt.rpc file), those changes are not reflected. I get the serialization policy not found error message, referencing a policy name that is not the name of the .gwt.rpc file packaged up. Workaround: Run GWT Compile with the Google Eclipse Plugin on the project before packaging. This surprises me, though, because even when I do "mvn clean package" this still solves the problem.
        Hide
        jieryn added a comment -

        This is probably not a valid bug, and it's over a year old ... please recreate with a current version or close the defect.

        Show
        jieryn added a comment - This is probably not a valid bug, and it's over a year old ... please recreate with a current version or close the defect.
        Hide
        Robert Munteanu added a comment -

        Have you tried reproducing it? I have been hit by it until I moved to IsSerializable exclusively.

        Show
        Robert Munteanu added a comment - Have you tried reproducing it? I have been hit by it until I moved to IsSerializable exclusively.
        Hide
        Robert Munteanu added a comment -

        I have seen this again, with GWT 2.4.0 , Plugin version 2.4.0 and gwt-dispatch. While running in dev mode and throwing a Serializable exception, I get

        Oct 18, 2011 12:56:32 AM com.google.appengine.tools.development.ApiProxyLocalImpl log
        INFO: javax.servlet.ServletContext log: dispatch: ERROR: The serialization policy file '/Admin/34D80D52F10FC1802495FB9AFCD6CD93.gwt.rpc' was not found; did you forget to include it in this deployment?
        Oct 18, 2011 12:56:32 AM com.google.appengine.tools.development.ApiProxyLocalImpl log
        INFO: javax.servlet.ServletContext log: dispatch: WARNING: Failed to get the SerializationPolicy '34D80D52F10FC1802495FB9AFCD6CD93' for module 'http://127.0.0.1:8080/Admin/'; a legacy, 1.3.3 compatible, serialization policy will be used.  You may experience SerializationExceptions as a result.
        Oct 18, 2011 1:03:36 AM com.google.appengine.tools.development.ApiProxyLocalImpl log
        SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
        com.google.gwt.user.client.rpc.SerializationException: Type 'net.customware.gwt.dispatch.shared.ServiceException' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = net.customware.gwt.dispatch.shared.ServiceException: blah.
        	at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:619)
        	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:539)
        	at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:616)
        	at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:390)
        	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
        	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.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
        	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        	at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58)
        	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 com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
        	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
        	at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
        	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.handler.ContextHandler.handle(ContextHandler.java)
        	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
        	at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70)
        	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        	at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351)
        	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.content(HttpConnection.java:938)
        	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
        	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
        	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
        
        Show
        Robert Munteanu added a comment - I have seen this again, with GWT 2.4.0 , Plugin version 2.4.0 and gwt-dispatch. While running in dev mode and throwing a Serializable exception, I get Oct 18, 2011 12:56:32 AM com.google.appengine.tools.development.ApiProxyLocalImpl log INFO: javax.servlet.ServletContext log: dispatch: ERROR: The serialization policy file '/Admin/34D80D52F10FC1802495FB9AFCD6CD93.gwt.rpc' was not found; did you forget to include it in this deployment? Oct 18, 2011 12:56:32 AM com.google.appengine.tools.development.ApiProxyLocalImpl log INFO: javax.servlet.ServletContext log: dispatch: WARNING: Failed to get the SerializationPolicy '34D80D52F10FC1802495FB9AFCD6CD93' for module 'http: //127.0.0.1:8080/Admin/'; a legacy, 1.3.3 compatible, serialization policy will be used. You may experience SerializationExceptions as a result. Oct 18, 2011 1:03:36 AM com.google.appengine.tools.development.ApiProxyLocalImpl log SEVERE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call com.google.gwt.user.client.rpc.SerializationException: Type 'net.customware.gwt.dispatch.shared.ServiceException' was not assignable to 'com.google.gwt.user.client.rpc.IsSerializable' and did not have a custom field serializer.For security purposes, this type will not be serialized.: instance = net.customware.gwt.dispatch.shared.ServiceException: blah. at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:619) 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:539) at com.google.gwt.user.server.rpc.RPC.encodeResponse(RPC.java:616) at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:390) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588) 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.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:58) 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 com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97) 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.handler.ContextHandler.handle(ContextHandler.java) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:70) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:351) 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.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
        Hide
        Mark added a comment -

        Check out the gwt maven archetype. You need to adjust various path settings in pom.xml.

        Show
        Mark added a comment - Check out the gwt maven archetype. You need to adjust various path settings in pom.xml.
        Hide
        Thomas Broyer added a comment -

        Closing just because it's a very old bug and things have changed a lot on GWT's side, and probably the gwt-m-p side too.

        Show
        Thomas Broyer added a comment - Closing just because it's a very old bug and things have changed a lot on GWT's side, and probably the gwt-m-p side too.

          People

          • Assignee:
            Unassigned
            Reporter:
            zaccret
          • Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: