2013-05-31 19 views
7

Korzystam z projektu open source Xabber i jestem w stanie utworzyć nową grupę, Ale zawsze jest napisane: Pomieszczenie to jest zablokowane przed wprowadzeniem, dopóki konfiguracja nie zostanie potwierdzona. Próbowałem ustawić domyślną konfigurację, ale wyrzucił mi wyjątek: 401 nie autoryzowany. Co dokładnie problem.Ustawienia domyślnej konfiguracji Android xmpp MUC

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(); 
      } 

Odpowiedz

7

Wystąpił również ten sam błąd. Tutaj zmodyfikowałem kod i to działa dla mnie. Błąd 401 nie jest autoryzowanym błędem, gdy wywołujemy metodę getConfigurationForm(), bez łączenia się z nią.


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(); 
    } 

} 

A teraz jestem w stanie skutecznie złożyć formularz bez żadnego wyjątku. Mam nadzieję, że to zadziała dla Ciebie.

+0

Witam @u_pendra, czy możesz mi powiedzieć, jak możemy zaktualizować konfigurację grupy? –

0

Musisz mieć uprawnienia, aby ustawić konfigurację. Zazwyczaj można to zmienić w ustawieniach serwera. Jeśli masz na przykład Openfire, powinieneś przejść do: Group Chat>Group chat settings> Kliknij swoją Grupową usługę czatu>Room Creation Permissions lub Administrators.

Jesteś prawdopodobnie w stanie zmienić stronę tego klienta, jest to możliwe tylko wtedy, gdy masz dostęp do serwera, z którym próbujesz się połączyć.

+0

Cześć koesie dzięki za odpowiedź, próbowałem zmienić uprawnienia do tworzenia pokoju dla wszystkich, a także dodałem mój identyfikator Jabber do listy Aminstratorów. Ale nadal, gdy tworzę nową grupę, pojawia się ten sam błąd. – sukarno