2013-05-31 18 views
7

Xabberオープンソースプロジェクトを使用していて、新しいグループを作成できますが、これは常にそうです:この部屋は設定が確定するまで入力からロックされています。私はデフォルト設定を設定しようとしましたが、それは私に例外を投げます:401は認可されていません。何が問題なのか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(); 
      } 

答えて

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は返信いただきありがとうございます、私はみんなに部屋の作成許可を変更しようとし、私はまた、私のジャバーのIDをAminstratorsのリストに追加しました。しかし、私は新しいグループを作成するときにも同じエラーが発生します。 – sukarno

関連する問題