2015-03-31 1 views
0

Я создаю нового пользователя на ejabberd server.The пользователя создается. В приведенном ниже коде пользователь 918 создан, но атрибут не был сохранен.Сервер XMPP: создана учетная запись, но атрибуты не сохраняются

ejabberd сервер имеет правила доступа: [register, [{allow,all}]]

Однако атрибуты, которые я прохожу вместе с createAccount(), не спасутся на сервере ejabberd.

использованные библиотеки - asmack-android-8-4.0.7, dnsjava-2.1.7. XMPP сервер - ejabberd 2.1.11

Кодекс

ConnectionConfiguration config = new ConnectionConfiguration("myserver.co"); 
    config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 
    conn1 = new XMPPTCPConnection(config); 
    conn1.connect(); 

    AccountManager accMan = AccountManager.getInstance(conn1); 
    Map<String, String> attributes = new HashMap<String, String>(); 
    attributes.put("phone", "237"); 
    attributes.put("misc", "123"); 

    accMan.createAccount("918", "hellopass", attributes); 

    conn1.login("918", "hellopass"); 
    accMan = AccountManager.getInstance(conn1); 
    Log.d(TAG, "acc IMEI " + accMan.getAccountAttribute("misc")); // null returned here 
    Log.d(TAG, "acc phone " + accMan.getAccountAttribute("phone")); // null returned here 

Последние 2 строки кода, размещенных выше, возвращают нулевое значение.

Я не знаю, чего мне не хватает, чтобы правильно создать учетную запись с атрибутами, которые тоже сохраняются.

спасибо Vilpesh.

ответ

0

Атрибуты не хранятся на счете, а на Vcard. Когда вы регистрируете пользователя, вы можете передавать только имя пользователя и пароль. Для информации о пользователе вам необходимо изучить настройки Vcard.