2013-05-31 2 views
7

Я использую проект с открытым исходным кодом Xabber и могу создать новую группу, но он всегда говорит: эта комната заблокирована от записи до подтверждения конфигурации. Я попытался установить конфигурацию по умолчанию, но это лишает меня исключения: 401 не авторизован. В чем именно проблема.Настройки конфигурации по умолчанию для xxxp для Android xxxp

final MultiUserChat multiUserChat; 
     try { 
      multiUserChat = new MultiUserChat(xmppConnection, room); 
      // CHANAKYA: set default config for the MUC 
      // Send an empty room configuration form which indicates that we want 
      // an instant room 
      try { 
       multiUserChat.sendConfigurationForm(new Form(Form.TYPE_SUBMIT)); 
      } catch (XMPPException e) { 
       e.printStackTrace(); 
      } 

ответ

7

У меня также была такая же ошибка. Здесь я изменил код и это работа для меня. Ошибка 401 не является авторизованной ошибкой, когда мы вызываем любой getConfigurationForm(), не присоединяясь к ней.


multiUserChat.join(nickname, password); 
setConfig(multiUserChat); // Here I am calling submit form 

private void setConfig(MultiUserChat multiUserChat) { 

    try { 
     Form form = multiUserChat.getConfigurationForm(); 
     Form submitForm = form.createAnswerForm(); 
     for (Iterator<FormField> fields = submitForm.getFields(); fields 
       .hasNext();) { 
      FormField field = (FormField) fields.next(); 
      if (!FormField.TYPE_HIDDEN.equals(field.getType()) 
        && field.getVariable() != null) { 
       submitForm.setDefaultAnswer(field.getVariable()); 
      } 
     } 
     submitForm.setAnswer("muc#roomconfig_publicroom", true); 
     submitForm.setAnswer("muc#roomconfig_persistentroom", true); 
     multiUserChat.sendConfigurationForm(submitForm); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

И теперь я в состоянии успешно отправить форму без каких-либо исключений. Надеюсь, это сработает для вас.

+0

Привет, @u_pendra, Можете ли вы рассказать мне, как мы можем обновить конфигурацию группы? –

0

У вас должны быть разрешения для настройки конфигурации. Обычно это можно изменить в настройках сервера. Если у вас есть Openfire, например, вы должны перейти к Group Chat>Group chat settings> Нажмите на свой групповой чат>Room Creation Permissions или Administrators.

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

+0

Привет, koesie Спасибо за ответ, я попробовал изменить разрешение на создание комнаты всем, а также добавил свой jabber id в список Aminstrators. Но все же, когда я создаю новую группу, я получаю ту же ошибку. – sukarno

 Смежные вопросы

  • Нет связанных вопросов^_^