GWT IncompatibleRemoteServiceException

时间:2012-01-18 10:10:37

标签: java gwt serialization

直接向前但令人发狂,我在RPC调用时收到此错误:

处理此调用时抛出了IncompatibleRemoteServiceException。     com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException:com.milkrun.core.dto.UserBasket的类型签名无效

以下是导致问题的类:

public class UserBasket implements Serializable{

     private static final long serialVersionUID = -6761554796753637352L;

    public int userBasketID;
    public String description;
    public String userID;

    public List<BasketItem> items;

    public String createUserId;
    public Timestamp createTs;
     public String lastUpdateUserId;
    public Timestamp lastUpdateTs;
    public Timestamp effStartTs;
    public Timestamp effStopTs;

}

类型为BasketItem:

public class BasketItem implements Serializable {


private static final long serialVersionUID = -17764683871112216L;

public int basketItemID;

public String upc;
public String description;
public String brandName;

public BigDecimal price;

public String createUserId;
public Timestamp createTs;
public String lastUpdateUserId;
public Timestamp lastUpdateTs;
public Timestamp effStartTs;
public Timestamp effStopTs;

}

我不确定我哪里出错了,我宁愿不使用IsSerializable,因为这些DTO也在Android应用程序共享的项目中,并且IsSerializable是GWT堆栈的一部分。

4 个答案:

答案 0 :(得分:4)

我在开发模式下遇到了这个问题。在我的情况下,问题是码头没有做“干净”。我在workspace / .metadata / .plugins / org.eclipse.wst.server.core /(例如my-module.jar)中手动删除了我的gwt模块的.jar

之后,服务器端和客户端站点上的类再次相同。

答案 1 :(得分:0)

只是一个想法。如果您正在使用eclipse GWT插件,请检查针对lib文件夹中存在的jar的eclipse-plugin配置(或捆绑)版本的GWT。

答案 2 :(得分:0)

我在Eclipse Luna的DevMode中遇到了与GWT 2.6.0和Java 1.8_0_5相同的问题。 清理项目,重新启动Eclipse或Windows并没有帮助我,但我通过将应用程序部署到外部Tomcat来“解决”了这个问题 - 运行正常。 当我回到Eclipse时,该应用程序在Jetty上的DevMode中运行良好。奇怪的。闻起来像GWT插件中的一个bug。

答案 3 :(得分:0)

在Eclipse中,只需Project&gt;干净......为我工作。