无法注册新用户android asmack"无法生成CAPTCHA"

时间:2014-11-24 12:18:35

标签: android xmpp ejabberd smack asmack

我正在使用带有ejabbered服务器的android的asmack(XMPP)框架。我遇到的问题是,当我尝试通过AccountManager注册一个新用户时,我的服务器出现“无法生成CAPTCHA”的错误,为什么服务器正在告诉我们,我们是否需要CAPTCHA以及如何在asmack中实现验证码。 / p>

以下是我创建新用户的代码。

语言:Android 请帮忙!

public void regesterNewUser(String newUserId, String password){

    if(!connection.isAuthenticated()){

        AccountManager accountManager = connection.getAccountManager();
        Collection<String> acAtr = accountManager.getAccountAttributes();
        System.out.println("Account Instructions = "+accountManager.getAccountInstructions());
        for (String string : acAtr) {

            System.out.println("ACCNT ATR = "+string);
        }
		HashMap<String,String> aParams = new HashMap<String,String>();
		if(accountManager.supportsAccountCreation()){

            try {

                accountManager.createAccount(newUserId, password);
            } catch (XMPPException e) {

                // TODO Auto-generated catch block
                		e.printStackTrace();
            }
        }
    }
}
这是我的错误LOG

11-24 15:00:47.720: D/SMACK(11227): 03:00:47 PM SENT (1110481016): <iq id="237lI-0" to="localhost" type="get"><query xmlns="jabber:iq:register"></query></iq>
11-24 15:00:48.100: D/SMACK(11227): 03:00:48 PM RCV  (1110481016): <iq from='localhost' id='237lI-0' type='error'><query xmlns='jabber:iq:register'/><error code='500' type='wait'><internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Unable to generate a CAPTCHA</text></error></iq>
11-24 15:00:48.110: W/System.err(11227): internal-server-error(500) Unable to generate a CAPTCHA
11-24 15:00:48.120: W/System.err(11227): 	at org.jivesoftware.smack.AccountManager.getRegistrationInfo(AccountManager.java:331)
11-24 15:00:48.120: W/System.err(11227): 	at org.jivesoftware.smack.AccountManager.getAccountAttributes(AccountManager.java:132)
11-24 15:00:48.120: W/System.err(11227): 	at com.example.xmpp.ConnectionMaker.regesterNewUser(ConnectionMaker.java:218)
11-24 15:00:48.120: W/System.err(11227): 	at com.example.xmpp.LoginScreenActivity.onActivityResult(LoginScreenActivity.java:89)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.Activity.dispatchActivityResult(Activity.java:5372)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:3212)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:3259)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.ActivityThread.access$1200(ActivityThread.java:140)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
11-24 15:00:48.120: W/System.err(11227): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 15:00:48.120: W/System.err(11227): 	at android.os.Looper.loop(Looper.java:174)
11-24 15:00:48.120: W/System.err(11227): 	at android.app.ActivityThread.main(ActivityThread.java:4952)
11-24 15:00:48.120: W/System.err(11227): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-24 15:00:48.120: W/System.err(11227): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-24 15:00:48.120: W/System.err(11227): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
11-24 15:00:48.120: W/System.err(11227): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
11-24 15:00:48.120: W/System.err(11227): 	at dalvik.system.NativeStart.main(Native Method)
11-24 15:00:48.130: D/SMACK(11227): 03:00:48 PM SENT (1110481016): <iq id="237lI-1" to="localhost" type="get"><query xmlns="jabber:iq:register"></query></iq>
11-24 15:00:48.610: D/SMACK(11227): 03:00:48 PM RCV  (1110481016): <iq from='localhost' id='237lI-1' type='error'><query xmlns='jabber:iq:register'/><error code='500' type='wait'><internal-server-error xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Unable to generate a CAPTCHA</text></error></iq>
11-24 15:00:48.610: I/System.out(11227): Account Instructions = null
11-24 15:00:48.620: D/SMACK(11227): 03:00:48 PM SENT (1110481016): <iq id="237lI-2" to="localhost" type="set"><query xmlns="jabber:iq:register"><email>krishna@localhost</email><password>123456krishna</password><username>krishna</username><name>krishnathakkar</name></query></iq>
11-24 15:00:48.980: D/SMACK(11227): 03:00:48 PM RCV  (1110481016): <iq from='localhost' id='237lI-2' type='error'><query xmlns='jabber:iq:register'><email>krishna@localhost</email><password>123456krishna</password><username>krishna</username><name>krishnathakkar</name></query><error code='405' type='cancel'><not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
11-24 15:00:48.980: W/System.err(11227): not-allowed(405)
11-24 15:00:48.980: W/System.err(11227): 	at org.jivesoftware.smack.AccountManager.createAccount(AccountManager.java:243)
11-24 15:00:48.980: W/System.err(11227): 	at com.example.xmpp.ConnectionMaker.regesterNewUser(ConnectionMaker.java:231)
11-24 15:00:48.980: W/System.err(11227): 	at com.example.xmpp.LoginScreenActivity.onActivityResult(LoginScreenActivity.java:89)
11-24 15:00:48.980: W/System.err(11227): 	at android.app.Activity.dispatchActivityResult(Activity.java:5372)
11-24 15:00:48.980: W/System.err(11227): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:3212)
11-24 15:00:48.980: W/System.err(11227): 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:3259)
11-24 15:00:48.980: W/System.err(11227): 	at android.app.ActivityThread.access$1200(ActivityThread.java:140)
11-24 15:00:48.980: W/System.err(11227): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1285)
11-24 15:00:48.980: W/System.err(11227): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-24 15:00:48.980: W/System.err(11227): 	at android.os.Looper.loop(Looper.java:174)
11-24 15:00:48.990: W/System.err(11227): 	at android.app.ActivityThread.main(ActivityThread.java:4952)
11-24 15:00:48.990: W/System.err(11227): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-24 15:00:48.990: W/System.err(11227): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-24 15:00:48.990: W/System.err(11227): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
11-24 15:00:48.990: W/System.err(11227): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
11-24 15:00:48.990: W/System.err(11227): 	at dalvik.system.NativeStart.main(Native Method)
11-24 15:00:49.010: I/Choreographer(11227): Skipped 78 frames!  The application may be doing too much work on its main thread.
11-24 15:00:49.020: I/(11227): ION_IOC_IMPORT success c3e2f880,phy addr = 8f2ce000
11-24 15:00:49.060: W/IInputConnectionWrapper(11227): getSelectedText on inactive InputConnection
11-24 15:00:49.080: I/(11227): ION_IOC_FREE success ddaf2800,phy addr = 8f445000
11-24 15:00:49.080: I/(11227): ION_IOC_FREE success d41eda40,phy addr = 8ee69000
11-24 15:00:49.080: I/(11227): ION_IOC_FREE success c1db3640,phy addr = 8efe0000
11-24 15:00:49.080: I/(11227): ION_IOC_FREE success c1db3f00,phy addr = 8f157000
11-24 15:00:49.100: W/IInputConnectionWrapper(11227): setComposingText on inactive InputConnection
11-24 15:00:49.540: I/(11227): ION_IOC_IMPORT success ddde8bc0,phy addr = 8ee69000
11-24 15:00:50.040: I/(11227): ION_IOC_IMPORT success ddde89c0,phy addr = 8efe0000
11-24 15:00:50.550: I/(11227): ION_IOC_IMPORT success de61fb40,phy addr = 8f157000
11-24 15:01:00.920: W/IInputConnectionWrapper(11227): getSelectedText on inactive InputConnection
11-24 15:01:00.920: W/IInputConnectionWrapper(11227): setComposingText on inactive InputConnection
11-24 15:01:37.240: W/IInputConnectionWrapper(11227): getSelectedText on inactive InputConnection
11-24 15:01:37.250: W/IInputConnectionWrapper(11227): setComposingText on inactive InputConnection
11-24 15:01:41.580: D/SMACK(11227): 03:01:41 PM SENT (1110481016):  
11-24 15:02:11.580: D/SMACK(11227): 03:02:11 PM SENT (1110481016):  
11-24 15:02:19.580: D/SMACK(11227): 03:02:19 PM SENT (1110481016): <presence id="237lI-3" type="unavailable"></presence>
11-24 15:02:19.740: W/System.err(11227): javax.net.ssl.SSLException: Read error: ssl=0x4fc1cff8: I/O error during system call, Connection timed out
11-24 15:02:19.740: W/System.err(11227): 	at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method)
11-24 15:02:19.740: W/System.err(11227): 	at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:651)
11-24 15:02:19.740: W/System.err(11227): 	at java.io.InputStreamReader.read(InputStreamReader.java:244)
11-24 15:02:19.750: W/System.err(11227): 	at java.io.BufferedReader.read(BufferedReader.java:310)
11-24 15:02:19.750: W/System.err(11227): 	at org.jivesoftware.smack.util.ObservableReader.read(ObservableReader.java:42)
11-24 15:02:19.750: W/System.err(11227): 	at org.kxml2.io.KXmlParser.fillBuffer(KXmlParser.java:1496)
11-24 15:02:19.750: W/System.err(11227): 	at org.kxml2.io.KXmlParser.peekType(KXmlParser.java:979)
11-24 15:02:19.750: W/System.err(11227): 	at org.kxml2.io.KXmlParser.next(KXmlParser.java:346)
11-24 15:02:19.750: W/System.err(11227): 	at org.kxml2.io.KXmlParser.next(KXmlParser.java:310)
11-24 15:02:19.750: W/System.err(11227): 	at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:320)
11-24 15:02:19.750: W/System.err(11227): 	at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)
11-24 15:02:19.760: W/System.err(11227): 	at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:69)
11-24 15:02:20.890: D/dalvikvm(11227): GC_CONCURRENT freed 982K, 18% free 10054K/12231K, paused 3ms+3ms, total 59ms

1 个答案:

答案 0 :(得分:2)

正如错误节所说,这是内部服务器错误。由于某种原因,服务器无法为注册表生成CAPTCHA。您必须要求服务器管理员查看配置。