I’ve already setup a XMPP server (ejabberd) and able to connect to it.
I’m doing testing on Eclipse IDE 1st before starting development on Android platforms.
But every time I try to do a login, the system will prompt the following error:
connected
Exception in thread “main” java.lang.NullPointerException
** at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:64)**
** at org.jivesoftware.smack.util.stringencoder.Base64.encode(Base64.java:60)**
** at org.jivesoftware.smack.util.stringencoder.Base64.encodeToString(Base64.java:42)**
** at org.jivesoftware.smack.sasl.SASLMechanism.authenticate(SASLMechanism.java:199)**
** at org.jivesoftware.smack.sasl.SASLMechanism.authenticate(SASLMechanism.java:169)**
** at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java: 236)**
** at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginNonAnonymously(XMPPTCPConnect ion.java:365)**
** at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java :452)**
** at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java :410)**
** at Test.main(Test.java:29)**
Here’s a preview of my codes:
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration
** .builder().setUsernameAndPassword(“admin”, “password”)**
** .setServiceName(“localhost”).setHost(“192.168.1.21”)**
** .setPort(5222).setSecurityMode(SecurityMode.disabled)**
** .allowEmptyOrNullUsernames().build();**
** XMPPTCPConnection connection = new XMPPTCPConnection(config);**
** connection.connect();**
** if (connection.isConnected()) {**
** System.out.println(“connected”);**
** }**
** connection.login();**
I did read up a bit on SASL and stuffs, but still unsure on how I can get around this.
P.S. I noticed that the documentation here https://www.igniterealtime.org/builds/smack/docs/latest/documentation/ seems to be outdated? By any chance it will be updated soon?