{"id":3096,"date":"2014-03-15T12:55:22","date_gmt":"2014-03-15T12:55:22","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/03\/15\/cannot-login-to-google-talk-using-asmack-15-on-an-android-device-collection-of-common-programming-errors\/"},"modified":"2014-03-15T12:55:22","modified_gmt":"2014-03-15T12:55:22","slug":"cannot-login-to-google-talk-using-asmack-15-on-an-android-device-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/03\/15\/cannot-login-to-google-talk-using-asmack-15-on-an-android-device-collection-of-common-programming-errors\/","title":{"rendered":"Cannot login to Google Talk using asmack 15 on an Android device-Collection of common programming errors"},"content":{"rendered":"<p>We are trying to establish a connection. We get a connection established, but when we try to login, we get a large number of errors.<\/p>\n<p>We are trying to log into Google Talk using an XMPPConnection object, and passing it a reference to a hostname, port number, username, password, and resource. The connection is created and set up properly, but when we try to log into Google Talk using a created connection, we get a lot of errors and the Android application crashes.<\/p>\n<p>Our code:<\/p>\n<pre><code>class BackgroundConnection extends AsyncTask {\n\n        @Override\n        protected XMPPConnection doInBackground(String... arg0) {\n\n\n            String host = \"talk.google.com\"; \/\/getText(R.id.host); \/\/\"talk.google.com\"\n                String port = \"5222\"; \/\/getText(R.id.port); \/\/\"5222\"\n                String service = \"gmail.com\"; \/\/getText(R.id.service); \/\/\"gmail.com\"\n                String username = \"username@gmail.com\"; \/\/getText(R.id.userid);\n                String password = \"password\"; \/\/getText(R.id.password);\n                String resource = \"web\"; \/\/\"smack\"\n\n                \/\/ Create a connection\n                ConnectionConfiguration connConfig =\n                    new ConnectionConfiguration(host, 5222, service);\n                \/\/connConfig.setLoginInfo(username, password, resource);\n                XMPPConnection connection = new XMPPConnection(connConfig);\n\n                try {\n                    connection.connect();\n                    Log.i(\"XMPPClient\", \"[SettingsDialog] Connected to \" + connection.getHost());\n                } catch (Exception ex) {\n                    Log.e(\"XMPPClient\", \"[SettingsDialog] Failed to connect to \" + connection.getHost());\n                    Log.e(\"XMPPClient\", ex.toString());\n                    xmppClient.setConnection(null);\n                }\n                try {\n                            \/\/ ***FAILS HERE***\n                    connection.login(username, password, resource);\n                    Log.i(\"XMPPClient\", \"Logged in as \" + connection.getUser());\n\n                    \/\/ Set the status to available\n                    Presence presence = new Presence(Presence.Type.available);\n                    connection.sendPacket(presence);\n                    xmppClient.setConnection(connection);\n                } catch (Exception ex) {\n                    Log.e(\"ERROR\",\"Failed to login: \" + ex.toString());\n                    Log.e(\"XMPPClient\", \"[SettingsDialog] Failed to log in as \" + username);\n                    Log.e(\"XMPPClient\", ex.toString());\n                        xmppClient.setConnection(null);\n                }\n\n            return null;\n        }\n\n    }\n<\/code><\/pre>\n<p>Errors:<\/p>\n<pre><code>11-11 13:17:35.829: I\/XMPPClient(6075): [SettingsDialog] Connected to talk.google.com\n11-11 13:17:40.534: I\/dalvikvm(6075): Could not find method javax.security.sasl.SaslClient.hasInitialResponse, referenced from method org.jivesoftware.smack.sasl.SASLMechanism.authenticate\n11-11 13:17:40.534: W\/dalvikvm(6075): VFY: unable to resolve interface method 3710: Ljavax\/security\/sasl\/SaslClient;.hasInitialResponse ()Z\n11-11 13:17:40.534: D\/dalvikvm(6075): VFY: replacing opcode 0x72 at 0x0003\n11-11 13:17:40.534: W\/dalvikvm(6075): VFY: unable to resolve exception class 680 (Ljavax\/security\/sasl\/SaslException;)\n11-11 13:17:40.534: W\/dalvikvm(6075): VFY: unable to find exception handler at addr 0x29\n11-11 13:17:40.544: W\/dalvikvm(6075): VFY:  rejected Lorg\/jivesoftware\/smack\/sasl\/SASLMechanism;.authenticate ()V\n11-11 13:17:40.544: W\/dalvikvm(6075): VFY:  rejecting opcode 0x0d at 0x0029\n11-11 13:17:40.544: W\/dalvikvm(6075): VFY:  rejected Lorg\/jivesoftware\/smack\/sasl\/SASLMechanism;.authenticate ()V\n11-11 13:17:40.544: W\/dalvikvm(6075): Verifier rejected class Lorg\/jivesoftware\/smack\/sasl\/SASLMechanism;\n11-11 13:17:40.544: W\/dalvikvm(6075): Class init failed in Constructor.constructNative (Lorg\/jivesoftware\/smack\/sasl\/SASLPlainMechanism;)\n11-11 13:17:55.680: W\/System.err(6075): java.io.EOFException: no more data available - expected end tag  to close start tag  from line 1, parser stopped on END_TAG seen ...... @1:335\n11-11 13:17:55.680: W\/System.err(6075):     at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)\n11-11 13:17:55.690: W\/System.err(6075):     at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)\n11-11 13:17:55.690: W\/System.err(6075):     at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)\n11-11 13:17:55.730: W\/System.err(6075):     at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)\n11-11 13:17:55.730: W\/System.err(6075):     at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:325)\n11-11 13:17:55.730: W\/System.err(6075):     at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:43)\n11-11 13:17:55.730: W\/System.err(6075):     at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70)\n11-11 13:18:49.928: W\/dalvikvm(6075): threadid=11: thread exiting with uncaught exception (group=0x40c63a68)\n11-11 13:18:49.988: E\/AndroidRuntime(6075): FATAL EXCEPTION: AsyncTask #1\n11-11 13:18:49.988: E\/AndroidRuntime(6075): java.lang.RuntimeException: An error occured while executing doInBackground()\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at android.os.AsyncTask$3.done(AsyncTask.java:278)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.FutureTask.setException(FutureTask.java:124)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:208)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.lang.Thread.run(Thread.java:856)\n11-11 13:18:49.988: E\/AndroidRuntime(6075): Caused by: java.lang.VerifyError: org\/jivesoftware\/smack\/sasl\/SASLMechanism\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.lang.reflect.Constructor.constructNative(Native Method)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.lang.reflect.Constructor.newInstance(Constructor.java:417)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:315)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at com.hemelix.xmppClient.SettingsDialog$BackgroundConnection.doInBackground(SettingsDialog.java:108)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at com.hemelix.xmppClient.SettingsDialog$BackgroundConnection.doInBackground(SettingsDialog.java:1)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at android.os.AsyncTask$2.call(AsyncTask.java:264)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)\n11-11 13:18:49.988: E\/AndroidRuntime(6075):     ... 5 more\n11-11 13:24:00.369: I\/Process(6075): Sending signal. PID: 6075 SIG: 9\n<\/code><\/pre>\n<p>Any ideas on what is wrong?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are trying to establish a connection. We get a connection established, but when we try to login, we get a large number of errors. We are trying to log into Google Talk using an XMPPConnection object, and passing it a reference to a hostname, port number, username, password, and resource. The connection is created [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3096","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/3096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=3096"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/3096\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=3096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=3096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=3096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}