我有一个RPC服务,在用户登录那个。如果用户名和密码是有效的,一切都很好。但是,如果用户名和密码是无效的,服务器端的代码似乎运行正常,但回调的onFailure()
方法被触发。除了onFailure()
方法本身之外,没有任何错误或例外。客户端出现的异常是通用的“500服务器上的调用失败;请参阅服务器日志以获取详细信息”GWT RPC失败,并没有错误,也不例外
我已将所有代码包装在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,是没有问题的。当user.isValid()
返回false时才会触发onFailure()
。
我难倒就这一个,所以任何调试提示或建议是极大的赞赏!
你去通过在调试模式下服务器端方法? – enrybo 2013-02-12 21:59:50
你看过服务器日志吗? – 2013-02-12 22:07:06
如果你显示的代码是服务器端,那么try/catch块在哪里? – SSR 2013-02-13 03:30:15