【发布时间】:2013-02-12 21:16:49
【问题描述】:
我有一个登录用户的 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() 仅在 user.isValid() 返回 false 时触发。
我被这个难住了,因此非常感谢任何调试技巧或建议!
【问题讨论】:
-
你在调试模式下通过服务器端的方法吗?
-
你查看过服务器日志吗?
-
如果您显示的代码是服务器端的,那么 try/catch 块在哪里?
-
我一直无法让调试模式正常运行。
-
是的,服务器日志现在显示错误。