You can not use Object in Vector<Object> for GWT client code. You may try to use Vector<Serializable>
Jim http://www.gwtorm.com - GWT ORM http://code.google.com/p/dreamsource-orm/ On May 21, 6:05 am, Yulia <yuli...@gmail.com> wrote: > Hello > > I have class StringValue which extends abstract class AttributeValue. > I call some method on server side, which should return instance of > this class. When the method tries to return value the folowing error > happens: > > SEVERE: Exception while dispatching incoming RPC call > com.google.gwt.user.client.rpc.SerializationException: > java.lang.reflect.InvocationTargetException > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer > (ServerSerializationStreamWriter.java:686) > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl > (ServerSerializationStreamWriter.java:649) > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize > (ServerSerializationStreamWriter.java:583) > 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:520) > 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:164) > at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost > (RemoteServiceServlet.java:86) > at javax.servlet.http.HttpServlet.service(HttpServlet.java: > 710) > at javax.servlet.http.HttpServlet.service(HttpServlet.java: > 803) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > (ApplicationFilterChain.java:290) > at org.apache.catalina.core.ApplicationFilterChain.doFilter > (ApplicationFilterChain.java:206) > at > org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter > (MonitorFilter.java:390) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter > (ApplicationFilterChain.java:235) > at org.apache.catalina.core.ApplicationFilterChain.doFilter > (ApplicationFilterChain.java:206) > at org.apache.catalina.core.StandardWrapperValve.invoke > (StandardWrapperValve.java:233) > at org.apache.catalina.core.StandardContextValve.invoke > (StandardContextValve.java:175) > at org.apache.catalina.core.StandardHostValve.invoke > (StandardHostValve.java:128) > at org.apache.catalina.valves.ErrorReportValve.invoke > (ErrorReportValve.java:102) > at org.apache.catalina.core.StandardEngineValve.invoke > (StandardEngineValve.java:109) > at org.apache.catalina.connector.CoyoteAdapter.service > (CoyoteAdapter.java:286) > at org.apache.coyote.http11.Http11Processor.process > (Http11Processor.java:844) > at org.apache.coyote.http11.Http11Protocol > $Http11ConnectionHandler.process(Http11Protocol.java:583) > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run > (JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown > Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer > (ServerSerializationStreamWriter.java:668) > ... 27 more > Caused by: com.google.gwt.user.client.rpc.SerializationException: Type > 'com.biosearch.client.database.attributeValues.StringValue' 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:581) > at > com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject > (AbstractSerializationStreamWriter.java:129) > at > com.google.gwt.user.client.rpc.core.java.util.Collection_CustomFieldSerializerBase.serialize > (Collection_CustomFieldSerializerBase.java:43) > at > com.google.gwt.user.client.rpc.core.java.util.Vector_CustomFieldSerializer.serialize > (Vector_CustomFieldSerializer.java:36) > ... 31 more > > Both classes implement Serializable and have default constructor. Here > is the code: > > public abstract class AttributeValue implements Serializable { > private String datasource; > public AttributeValue() { > } > public abstract Object getValue(); > public String getDatasource() { > return datasource; > } > public void setDatasource(String datasource) { > this.datasource = datasource; > } > > } > > public class StringValue extends AttributeValue{ > private String value; > public StringValue() { > super(); > } > public StringValue(String value, String datasource) { > setValue(value); > setDatasource(datasource); > } > public String getValue() { > return value; > } > public void setValue(String value) { > this.value = value; > } > > } > > //Method on server side in RemoteServiceServlet class: > public Vector<Object> getInfo(int nodeId, int nodeTypeId) throws > Exception { > //This method should return vector of different objects, by > now it's only StringValue for testing > Vector<Object> res = new Vector<Object>(); > res.add(new StringValue("test", "test")); > return res; > > } > > What can be wrong? Maybe I cannot use Vector<Object> as a return type > (but it compiles fine and error is about StringValue)? > > Any help will be great appreciated. Thanks in advance. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to Google-Web-Toolkit@googlegroups.com To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Web-Toolkit?hl=en -~----------~----~----~----~------~----~------~--~---