8

Xabber オープン ソース プロジェクトを使用しており、新しいグループを作成できますが、常に次のように表示されます。デフォルトの構成を設定しようとしましたが、例外がスローされます: 401 許可されていません。まさに問題は何ですか。

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

2 に答える 2

11

私も同じエラーに直面していました。ここでコードを変更しましたが、うまくいきました。エラー 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();
    }

}

そして、例外なくフォームを正常に送信できるようになりました。これがうまくいくことを願っています。

于 2013-06-07T11:37:14.743 に答える
0

構成を設定するには、アクセス許可が必要です。これは通常、サーバー設定で変更できます。たとえば、Openfire を使用している場合は、Group Chat> Group chat settings>グループ チャット サービスをクリックする >Room Creation Permissionsまたはに移動する必要がありますAdministrators

おそらく、このクライアント側を変更することはできません。接続しようとしているサーバーにアクセスできる場合にのみ可能です。

于 2013-06-04T15:50:15.320 に答える