2013-05-31 7 views
7

Ich benutze das Xabber Open Source Projekt und bin in der Lage, eine neue Gruppe zu erstellen, aber es sagt immer: Dieser Raum ist vom Eingang bis zur Bestätigung der Konfiguration gesperrt. Ich habe versucht, eine Standardkonfiguration zu setzen, aber es wirft mich Ausnahme: 401 nicht autorisiert. Was genau ist das Problem.Android xmpp MUC Einstellung Standardkonfiguration

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

Antwort

7

Ich war auch mit dem gleichen Fehler konfrontiert. Hier habe ich den Code geändert und es funktioniert für mich. Fehler 401 ist kein berechtigter Fehler, wenn wir die any getConfigurationForm() aufrufen, ohne sie zu verbinden.


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

} 

Und jetzt bin ich in der Lage, die Form ohne jede Ausnahme erfolgreich einreichen. Hoffe, das wird für dich funktionieren.

+0

Hi @u_pendra, Können Sie mir sagen, wie wir die Gruppenkonfiguration aktualisieren können? –

0

Sie müssen über Berechtigungen zum Festlegen der Konfiguration verfügen. Dies kann normalerweise in den Servereinstellungen geändert werden. Wenn Sie beispielsweise Openfire haben, gehen Sie bitte zu Group Chat>Group chat settings> Klicken Sie auf Ihren Gruppenchatdienst>Room Creation Permissions oder Administrators.

Sie sind wahrscheinlich nicht möglich diese Clientseite zu ändern, ist es nur möglich, wenn Sie Zugriff auf den Server haben, mit dem Sie eine Verbindung herstellen möchten.

+0

Hallo koesie danke für die Antwort, ich habe versucht, die Raumerstellung Erlaubnis für alle zu ändern und auch meine Jabber-ID in die Liste der Amministratoren hinzugefügt. Aber wenn ich eine neue Gruppe erstelle, bekomme ich den gleichen Fehler. – sukarno