Порите ошибку предоставления API при вхождении в установку Сервера Tigase локально

Я в настоящее время разрабатываю клиент android XMPP для общения с установкой сервера Tigase локально. Перед стартовой разработкой на Android я пишу простой код Java на ПК для тестирования возможности соединения с сервером XMPP. Домен My XMPP является моим названием ПК "mwbn43-1" и пользовательским именем администратора, и пароли являются администратором и tigase соответственно.

Следующее является отрывком кода, который я использую

class Test {

public static void main(String args[])throws Exception
{

System.setProperty("smack.debugEnabled", "true");
XMPPConnection.DEBUG_ENABLED = true;

ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1", 5222);
config.setCompressionEnabled(true);
config.setSASLAuthenticationEnabled(true);

XMPPConnection con = new XMPPConnection(config);

// Connect to the server
con.connect();
con.login("admin", "tigase");

Chat chat = con.getChatManager().createChat("aaphadke@mwbn43-1",
    new MessageListener() {       
    public void processMessage(Chat chat, Message message) {
           // Print out any messages we get back to standard out.
           System.out.println("Received message: " + message);
       }
   });
        try {
      chat.sendMessage("Hi!");
  }
  catch (XMPPException e) {
      System.out.println("Error Delivering block");
  }


 String host = con.getHost();
 String user = con.getUser();
 String id = con.getConnectionID();
 int port = con.getPort();
 boolean i = false;
 i = con.isConnected();
 if (i)
 System.out.println("Connected to host " + host + " via port " + port + " connection id is " + id);

 System.out.println("User is " + user);
 con.disconnect();
 }
 }

Когда я выполняю этот код, я получаю следующую ошибку

 Exception in thread "main" Resource binding not offered by server: 
 at   org.jivesoftware.smack.SASLAuthentication.bindResourceAndEstablishSession(SASLAuthenticatio     n.java:416) at    org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:331)
 at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395)
 at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:349)
 at Test.main(Test.java:26)

Я нашел это статьями о той же проблеме, но никакое конкретное решение здесь Не Могло никто говорить мне решение для этой проблемы. Я проверил файл XMPPConnection.java во Вкус API, и он выглядит одинаково, как дали в решении для ссылки.

Спасибо, Ameya

1
задан Ameya Phadke 4 June 2010 в 20:34
поделиться

2 ответа

Я нашел решение проблемы, описанное в здесь

Это строки, которые я должен добавить перед подключением к серверу

ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1", 5222);
config.setSASLAuthenticationEnabled(false);
XMPPConnection xmpp = new XMPPConnection(config);

Спасибо за вашу помощь

3
ответ дан 3 September 2019 в 00:02
поделиться

Я думаю, что это проблема библиотеки, ошибка. Она не обрабатывает протокол правильно. Пока пользователь не аутентифицирован, нет смысла посылать привязку ресурса, поэтому она не рекламируется сервером. Клиент не должен жаловаться на это.

-1
ответ дан 3 September 2019 в 00:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: