GWT RPC序列化

swo*_*ded 2 gwt serialization rpc

我试图通过RPC发送MyClass,但我得到:类型MyClass不能分配给'com.google.gwt.user.client.rpc.IsSerializable'并且没有自定义字段序列化器.出于安全考虑,这种类型不会被序列化.

我看过GWT - 偶尔com.google.gwt.user.client.rpc.SerializationException并尝试了他们的解决方案,但它没有用.

不同之处在于MyClass位于另一个项目中.项目结构是:

MyApiProject
-contains MyClass
MyClientProject
MyServerProject
Run Code Online (Sandbox Code Playgroud)

我也试过从MyApiProject传递一个枚举通过RPC,这也失败了.

public class MyClass
    implements Serializable
{
    private static final long serialVersionUID = 5258129039653904120L;

    private String str;

    private MyClass()
    {
    }

    public MyClass(String str)
    {
        this.str = str;
    }

    public String getString()
    {
        return this.str;
    }
}
Run Code Online (Sandbox Code Playgroud)

在RemoteService我有:

mypackage.MyClass getMyClass();
Run Code Online (Sandbox Code Playgroud)

在RemoteServiceAsync我有:

void getMyClass(AsyncCallback<mypackage.MyClass> callback);
Run Code Online (Sandbox Code Playgroud)

swo*_*ded 6

我不得不更改工具Serializable来实现IsSerializable