GWT RPC失败,没有错误,也没有异常

时间:2013-02-12 21:16:49

标签: java gwt rpc

我有一个登录用户的RPC服务。如果用户名和密码有效,一切都很好。但是,如果用户名和密码无效,则服务器端代码似乎执行正常,但会触发回调的onFailure()方法。除了onFailure()方法本身之外,没有任何错误或例外。客户端出现的异常是通用的“500服务器上的调用失败;有关详细信息,请参阅服务器日志”

我已将所有代码包装在try / catch块中,以确保在运行时不会抛出任何异常。

以下是有问题的方法:

public OmsConsumer login(String username, String password, String ip) {

    OmsUser user = auth.validate(username, password, ip);

    OmsConsumer consumer;

    if(user.isValid()){
        logger.info("User is Valid");

        consumer = getConsumerByPersonId(user.getPersonId());       
    }else {
        logger.info("User is INVALID");

        consumer = new OmsConsumer();

        consumer.setValid(false);
        consumer.setErrors(user.getErrors());

            logger.info("Errors: " + consumer.getErrors().size());
    }
    return consumer;
}

同样,当user.isValid()返回true时,没有问题。仅当onFailure()返回false时才会触发user.isValid()

我对此感到困惑,所以非常感谢任何调试技巧或建议!

1 个答案:

答案 0 :(得分:0)

感谢您的提示。我最终在另一个班级找到了问题。 OmsError类实现了Serializable,但没有无参数构造函数。在调试时我将整个方法包装在try / catch中,所以我不确定为什么我没有从中获得异常。但是,一旦我将public OmsError(){}添加到OmsError类,一切都很好。