GWT - 响应无法反序列化

时间:2014-04-08 14:26:01

标签: gwt

我处于这种情况:

@RemoteServiceRelativePath("create_event")
public interface CreateEventService extends RemoteService {
    String[] createeventServer(LinkedList<LinkedList<String>> input) throws IllegalArgumentException;
}


public interface CreateEventServiceAsync {
    void createeventServer(LinkedList<LinkedList<String>> input, AsyncCallback<String[]> callback)
            throws IllegalArgumentException;
}


public class CreateEventServiceImpl extends RemoteServiceServlet implements CreateEventService {
    public String[] createeventServer(LinkedList<LinkedList<String>> input) throws IllegalArgumentException {
        String[] arr = new String[2];
        ...
        return arr;
}

为什么会导致错误“响应无法反序列化”?

P.S。我试图用app引擎执行项目,没有它,但问题是一样的。

1 个答案:

答案 0 :(得分:0)

对于可序列化对象的问题,您可以尝试以下检查列表:

  1. 验证该类是否具有默认构造函数(不带参数)
  2. 验证该类是否实现了Serializable或IsSerializable或 实现一个扩展Serializable或扩展类的接口 实现Serializable
  3. 验证该类是否在客户端。*包或...
  4. 验证,如果该类不在客户端。*包中,则编译为 您的GWT xml模块定义。默认情况下存在。如果你的班级 在另一个包中,您必须将其添加到源。例如,如果 你的类在域下。*你应该把它添加到xml中。意识到 那个类不能属于服务器包!关于GWT的更多细节 页: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml
  5. 如果您要从其他GWT项目中包括该课程,则必须这样做 将继承添加到xml模块定义中。例如,如果你的 class Foo在com.dummy.domain包里,你必须添加到 模块定义。更多细节在这里: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html#DevGuideInheritingModules
  6. 如果您要将其他GWT项目中的课程包括在内 jar验证jar还包含源代码,因为GWT 重新编译传递给客户端的类的Java源代码。
  7. 字体:http://isolasoftware.it/2011/03/22/gwt-serialization-policy-error/