0

我正在为 Android 开发 YM 客户端。我已经包含了 openymsg0.5 api。当我运行程序时,它显示以下错误。

06-29 11:32:04.097: ERROR/InputThread(11206): org.openymsg.network.LoginRefusedException: Login Failed, unable to retrieve stage 2 url
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.Session.yahooAuth16Stage2(Session.java:2048)
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.Session.yahooAuth16Stage1(Session.java:1955)
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.Session.receiveAuth(Session.java:1848)
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.InputThread.processPayload(InputThread.java:139)
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.InputThread.process(InputThread.java:129)
06-29 11:32:04.097: ERROR/InputThread(11206):     at org.openymsg.network.InputThread.run(InputThread.java:71)

这是主要错误:

LoginRefusedException: Login Failed, unable to retrieve stage 2 url

以前有人问过这个问题,但我没有找到对我有帮助的答案。有谁知道如何处理这个错误?我已经浏览了 openymsg 测试代码和代码库,一切似乎都很好。

我刚刚检查过,它作为 java 应用程序运行良好,但如果用作 android 的一部分,则会出现登录错误。我正在创建会话,如下所示

Session session = new Session();
session.addSessionListener(new SessionListenerClass());
try{
    session.login("username", "password");
    if (session!=null 
        && session.getSessionStatus()== SessionState.LOGGED_ON) 
    {
        System.out.println("It logged on!!!!!!!");
    }
}

会话列表器:

public class SessionListenerClass extends SessionAdapter
{

    @Override
    public void messageReceived(SessionEvent event)
    {
        // TODO Auto-generated method stub
        super.messageReceived(event);
    }

    @Override
    public void notifyReceived(SessionNotifyEvent event)
    {
        // TODO Auto-generated method stub
        super.notifyReceived(event);
    }

    @Override
    public void newMailReceived(SessionNewMailEvent event)
    {
        // TODO Auto-generated method stub
        super.newMailReceived(event);
    }

    @Override
    public void errorPacketReceived(SessionErrorEvent event)
    {
        // TODO Auto-generated method stub
        super.errorPacketReceived(event);
    }

    @Override
    public void connectionClosed(SessionEvent event)
    {
        // TODO Auto-generated method stub
        super.connectionClosed(event);
    }

}
4

1 回答 1

0

您正在使用的库基于jYMSG -library,它有更好的文档。

您抛出的异常的文档LoginRefusedException内容如下:

返回服务器给出的状态码。这将是 StatusConstants 中指定的值之一。值将是未知帐户的 STATUS_BADUSERNAME,或密码错误(或其他故障)的 STATUS_BAD。

因此,您可以检查它是“其他”还是错误的用户名/密码。


好的,这似乎是库中的一个错误。我发现表明项目负责人之一知道这个问题。但我不确定这是否会很快得到解决。

您还应该注意到,该项目被标记为“alpha”。我只能建议您继续关注修复此问题的新版本。

于 2011-06-29T20:23:52.447 回答