XMPP UserSearch с использованием последней версии smack 4.1.3 получил ошибку удаленного сервера не найдено

Вот что я использую: Openfire 3.10.2 Smack 4.1.3 Среда: Android

Я пытаюсь найти зарегистрированного пользователя, но мне не удается это сделать. Я пробовал так много разных комбинаций. Я также попробовал старую версию smack. Вот мой последний измененный код:

UserSearchManager userSearchManager = new UserSearchManager(connection);
    Form searchForm = null;
    List<ReportedData.Row> list = null;
    try {
        userSearchManager.getSearchForm("search." + connection.getServiceName());
        Form answerForm = searchForm.createAnswerForm();
        answerForm.setAnswer("Username", true);
        answerForm.setAnswer("search", userName);
        answerForm.setAnswer("Name", true);
        answerForm.setAnswer("search", userName);
        ReportedData data = userSearchManager.getSearchResults(answerForm, "search." + connection.getServiceName());
        list = data.getRows();
    } catch (SmackException.NoResponseException e) {
        e.printStackTrace();
    } catch (XMPPException.XMPPErrorException e) {
        Log.e(LOG_TAG, e.getMessage());

    } catch (SmackException.NotConnectedException e) {
        Log.e(LOG_TAG, e.getMessage());
    }

Я получил бы эту ошибку org.jivesoftware.smack.XMPPException$XMPPErrorException: XMPPError: remote-server-not-found - отменить в режиме онлайн,

    Form searchForm = manager.getSearchForm("search." + connection.getServiceName());

Я не знаю, пропустил ли я что-то на сервере openfire, или мне нужно что-то настроить, прежде чем я начну поиск. Моя обходная идея заключалась в том, чтобы получить полный список зарегистрированных пользователей, а затем выполнить поиск оттуда, но я не уверен, как этого добиться. После того, как я вошел в систему, список состоит только из моих друзей и групп. Может ли кто-нибудь указать мне правильное направление?

1 ответ

Решение

Вы пытаетесь найти пользователей на сервере "search." + connection.getServiceName(), но ваш сервер говорит вам, что не может найти этот сервер. Похоже, вы не настроили поисковый сервер в OpenFire или используете неправильный адрес.

Другие вопросы по тегам