Serialization RPC Call Exception

I created a very basic application. I have only one service class and the corresponding Async class, which contains only Java types and not user classes. But still, I get a serialization exception.

My class of service is as follows.

public interface MyService extends RemoteService {
  public String getName();
  public Object getAdditionalDetials(ArrayList<String> ids);
  public Date getJoiningDate();
}

My asynchronous interface is as follows

public interface MyServiceAsync {
  public void getName(AsyncCallback<String> callback);
  public void getAdditionalDetials(ArrayList<String> ids, AsyncCallback<Object> callback);
  public void getJoiningDate(AsyncCallback<Date> callback);
}

I know I'm making some kind of stupid mistake.

+1
source share
2 answers

I am naive in gwt rpc and serialization mechanism, but I will try to answer your question.

Whenever you write classes related to RPC, GWT creates Serialization Policy File. The serialization policy file contains a whitelist of allowed types that can be serialized.

, , , IsSerializable. :

public String getName();
public Date getJoiningDate();

String Date , , , Serialization Policy File. - ,

public Object getAdditionalDetials(Arraylist<String> ids);

ArrayList and String, , , , Object. GWT Compiler , whitelist or Serialization Policy, , , RPC. , IsSerializable Object.

+1

FWIW, , "" .

, rpc :

class Xxx<T> implements IsSerializable {...

:

class Xxx<T extends IsSerializable> implements IsSerializable {...
0

All Articles