0
smack 4.2.1을 사용하고 ejabberd 서버에 연결하려고합니다. 서버는 auth의 일반 SASL 메커니즘을 사용합니다.smack 일반 SASL to jabberd
내가 babbler와 같은 다른 라이브러리를 사용하면 인증 할 수 있습니다. 하지만 헤로인과 나는 운이 없다.
내가
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:212)
at org.jivesoftware.smack.sasl.SASLMechanism.authenticate(SASLMechanism.java:170)
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:202)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.loginInternal(XMPPTCPConnection.java:386)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:493)
at org.jivesoftware.smack.AbstractXMPPConnection.login(AbstractXMPPConnection.java:467)
내 코드 아래의 예외가 계속 상관 제안 appricaited 될
XMPPTCPConnectionConfiguration c = XMPPTCPConnectionConfiguration.builder().setHost("api.coredial.com")
.setHostAddress(InetAddress.getByName("api.coredial.com")).setDebuggerEnabled(true).setPort(5222)
.setXmppDomain(String.valueOf(JidCreate.bareFrom("api.coredial.com")))
.setUsernameAndPassword(userName,password)
.setHostnameVerifier(new HostnameVerifier() {
public boolean verify(String s, SSLSession sslSession) {
return true;
}
}).build();
XMPPTCPConnection con = new XMPPTCPConnection(c);
// Connect to the server
con.connect();
//con.login();
con.login(userName,password);
입니다.
2017 년에는 프로젝트에 항아리를 추가해서는 안됩니다. Maven 유물을 사용할 수있는 빌드 시스템을 사용하십시오. 그렇다면 왜 마약 중 일부만 초기화되는지 궁금하지 않을 것입니다. – Flow