GWT - случайный com.google.gwt.user.client.rpc.SerializationException - PullRequest
38 голосов
/ 23 января 2010

нас преследуют случайные случаи исключений, таких как:

com.google.gwt.user.client.rpc.SerializationException: тип «xxx» не был назначен для «com.google.gwt.user.client.rpc.IsSerializable» и не имел настраиваемого поля сериализатора. в целях безопасности этот тип не будет сериализован .: instance = xxx на com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize (ServerSerializationStreamWriter.java:610) на com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject (AbstractSerializationStreamWriter.java:129) на com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter $ ValueWriter $ 8.write (ServerSerializationStreamWriter.java:152) на com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeValue (ServerSerializationStreamWriter.java:534) на com.google.gwt.user.server.rpc.RPC.encodeResponse (RPC.java:609) на com.google.gwt.user.server.rpc.RPC.encodeResponseForSuccess (RPC.java:467) на com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse (RPC.java:564) на com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall (RemoteServiceServlet.java:188) в de.softconex.travicemanager.server.TraviceManagerServiceImpl.processCall (TraviceManagerServiceImpl.java:615) на com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost (RemoteServiceServlet.java:224) на com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost (AbstractRemoteServiceServlet.java:62) на javax.servlet.http.HttpServlet.service (HttpServlet.java:710) на javax.servlet.http.HttpServlet.service (HttpServlet.java:803) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:290) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter (ReplyHeaderFilter.java:96) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:235) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:206) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:230) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:175) в org.jboss.web.tomcat.security.SecurityAssociationValve.invoke (SecurityAssociationValve.java:179) в org.jboss.web.tomcat.security.JaccContextValve.invoke (JaccContextValve.java:84) в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:102) в org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke (CachedConnectionValve.java:157) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:262) в org.apache.coyote.ajp.AjpAprProcessor.process (AjpAprProcessor.java:419) в org.apache.coyote.ajp.AjpAprProtocol $ AjpConnectionHandler.process (AjpAprProtocol.java:378) в org.apache.tomcat.util.net.AprEndpoint $ Worker.run (AprEndpoint.java:1508) at java.lang.Thread.run (Thread.java:619)

Приложение нормально работает нормально. Указанный класс реализует Serializable (весь граф объектов).

Пока единственными закономерностями / наблюдениями являются:

  • похоже, что проблема возникает только тогда, когда приложение используется внутри iframe

  • проблема возникает, когда была развернута новая версия приложения

  • запуск firefox в режиме конфиденциальности (отключение всех кешей и т. Д.) Не решает проблему

Есть идеи?

Хольгер

Ответы [ 12 ]

0 голосов
/ 01 декабря 2011

tu obtiens cette erreur parce que tu essaies de faire passer un liste d'objets non sérialisée par le tunel rpc. Tu Devras d'abord Sérialiser Ta Liste D'Objet Avant Le Transfert против Le Tunel RPC. Сериализатор для детей и женщин в жанре ci-dessous и faire passer ce nouveau objet vers le tunel rpc

public class ListObjet<T> implements Serializable{

   /** Constant used for serialization purpose (serial number). */
   private static final long serialVersionUID = 8153484637403868153L;

   private List<T> listObjet;

   public List<T> getListOjets()
   {
       return listObjet;
   }

   public void setListObjet(List<T> m_listObjet)
   {
       this.listObjet= m_listObjet;
   }
}

Merci

Лагранж

0 голосов
/ 25 февраля 2010

Я также получал исключение SerializationException, но я также видел эту ошибку, появляющуюся прямо перед исключением сериализации:

[uptimereports / +2,340102563369350884] .: Пример: ошибка: не удается найти шаблон учетно-confirmation.vm

Оказалось, проблема с поиском моего шаблона скорости. Как только я исправил эту проблему, SerializationException перестало отображаться, поэтому, если вы следуете совету Керема и у вас все еще есть проблемы, поищите другие исключения в вашем журнале.

...