我有大問題。每當我嘗試連接到任何jabber服務器時,我都會收到「SASL身份驗證DIGEST-MD5失敗」通知。當我不使用JPasswordField時,我沒有這個錯誤,但是在IM中使用JTextField是毫無意義的。我已經嘗試了我找到的每種方法,但它都是相同的。Smack 3.2.2 SASL認證DIGEST-MD5失敗:invalid-authzid
代碼:從的printStackTrace()
private void bLoginAction(JTextField login, JPasswordField pass) {
loginText = login.getText();
passText = pass.getPassword().toString();
String[] data = loginText.split("@");
Connection.DEBUG_ENABLED = true;
ConnectionConfiguration config = new ConnectionConfiguration(data[1], 5222);
Connection con = new XMPPConnection(config);
try {
con.connect();
} catch (XMPPException e) {
e.printStackTrace();
}
try {
con.login(loginText, passText);
} catch (XMPPException e) {
e.printStackTrace();
}
}
打印:
SASL驗證DIGEST-MD5失敗:無效-authzid:在 org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication .java: 337)at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203) at org.jivesoftware.smack.Connection.login(Connection.java:348)
非常感謝。它非常完美!我只需要從char []創建String。 String passText = new String(pass.getPassword());如果有人需要這個;) – Ragnar 2012-07-11 14:46:26