Java RMI Unmarshall异常

时间:2015-11-16 15:05:47

标签: java serialization rmi

我正在调用这种远程方法:

RespuestaError<Co>  cox(String a, String b, String c, int d) throws RemoteException;

我收到此错误

java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: jtwitter.base.RespuestaError

它说RespuestaError不是Serializable,但它是:

public class RespuestaError<T extends Serializable> implements Serializable {

    private static final long serialVersionUID = 8483079015565009698L;

    private T returned;
    private Error error;

    public RespuestaError(T returned, Error error)
    {
      //...
    }

     //...
}

其中Error是枚举。 在这种特殊情况下,T是:

public class Co implements Serializable {

    private static final long serialVersionUID = 2759254657635643074L;

    private String  a;
    private int     b;
    private Us  c;

    public Co(String a, int b, Us c)
    {
        //...
    }

    //...
}

Us课程是:

public class Us implements Serializable {

    private static final long serialVersionUID = -6725570673833522155L;

    private int a;
    private String b; 
    private String c;
    private String d;
    private String e;
    private int    f;

    public Us(int a, String b, String c, String d, String e, int f)
    {
        //...
    }

    //...
}

Everithing扩展Serializable我没有看到错误。

1 个答案:

答案 0 :(得分:0)

代码中没有错误。问题是我没有运行我正在考虑运行的代码。清理和重新编译所有文件可以解决此问题。