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

Reply via email to