I successfully connected to the local openfire server and logged in without SSL. Here is my code
public class NewClientActivity extends Activity { EditText etUsername, etPassword; Button bSubmit; AbstractXMPPConnection mConnection; ConnectionListener connectionListener = new ConnectionListener() { @Override public void connected(XMPPConnection xmppConnection) { Log.d("xmpp", "connected"); try { SASLAuthentication.registerSASLMechanism(new SASLMechanism() { @Override protected void authenticateInternal(CallbackHandler callbackHandler) throws SmackException { } @Override protected byte[] getAuthenticationText() throws SmackException { byte[] authcid = toBytes('\u0000' + this.authenticationId); byte[] passw = toBytes('\u0000' + this.password); return ByteUtils.concact(authcid, passw); } @Override public String getName() { return "PLAIN"; } @Override public int getPriority() { return 410; } @Override public void checkIfSuccessfulOrThrow() throws SmackException { } @Override protected SASLMechanism newInstance() { return this; } }); mConnection.login(); } catch (XMPPException e) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(NewClientActivity.this, "Incorrect username or password", Toast.LENGTH_LONG).show(); } }); e.printStackTrace(); } catch (SmackException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override public void authenticated(XMPPConnection xmppConnection, boolean b) { Log.d("xmpp", "authenticated"); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(NewClientActivity.this,"Logged in successfully...",Toast.LENGTH_LONG ).show(); } }); } @Override public void connectionClosed() { Log.d("xmpp", "connection closed"); } @Override public void connectionClosedOnError(Exception e) { Log.d("xmpp", "cononection closed on error"); } @Override public void reconnectionSuccessful() { Log.d("xmpp", "reconnection successful"); } @Override public void reconnectingIn(int i) { Log.d("xmpp", "reconnecting in " + i); } @Override public void reconnectionFailed(Exception e) { Log.d("xmpp", "reconnection failed"); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_new_client); findViews(); } private void findViews() { etUsername = (EditText) findViewById(R.id.etUsername); etPassword = (EditText) findViewById(R.id.etPassword); bSubmit = (Button) findViewById(R.id.bSubmit); bSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String[] params = new String[]{etUsername.getText().toString(), etPassword.getText().toString()}; new Connect().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); } }); } class Connect extends AsyncTask<String, Void, Void> { @Override protected Void doInBackground(String... params) { XMPPTCPConnectionConfiguration config = null; XMPPTCPConnectionConfiguration.Builder builder = XMPPTCPConnectionConfiguration.builder(); builder.setServiceName("192.168.1.60").setHost("192.168.1.60") .setDebuggerEnabled(true) .setPort(5222) .setUsernameAndPassword(params[0], params[1]) .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled) .setCompressionEnabled(false); config = builder.build(); mConnection = new XMPPTCPConnection(config); try {
source share