2013-05-31 12 views
7

Sto usando il progetto Xabber open source e sono in grado di creare un nuovo gruppo, ma dice sempre: Questa stanza è bloccata dall'immissione finché la configurazione non viene confermata. Ho provato ad impostare una configurazione di default ma mi getta eccezione: 401 non autorizzato. Qual è esattamente il problema.Android xmpp MUC impostazione predefinita dell'impostazione

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

risposta

7

Anche io stavo affrontando lo stesso errore. Qui ho modificato il codice ed è lavoro per me. Errore 401 non è un errore autorizzato quando si chiama qualsiasi getConfigurationForm(), senza collegarsi.


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

} 

e ora sono in grado di presentare con successo il modulo senza alcuna eccezione. Spero che questo funzioni per te.

+0

Ciao @u_pendra, puoi dirmi come possiamo aggiornare la configurazione del gruppo? –

0

È necessario disporre delle autorizzazioni per impostare la configurazione. Questo di solito può essere modificato nelle impostazioni del server. Se hai Openfire, ad esempio, vai a Group Chat>Group chat settings> Fai clic sul servizio Chat di gruppo>Room Creation Permissions o Administrators.

Probabilmente è impossibile cambiare questo lato client, è possibile solo se si ha accesso al server a cui si sta tentando di connettersi.

+0

Ciao koesie grazie per la risposta, ho provato a cambiare il permesso di creazione di Stanza per tutti e ho aggiunto il mio jabber id all'elenco degli Aminstrators. Ma ancora quando creo un nuovo gruppo ottengo lo stesso errore. – sukarno