Привет! Не получается чат довести до работы.
Настроил xmpp чат на отдельном сервере, настроил облачное хранилище Nextcloud. В Nextcloud добавил приложение JavaScript XMPP Chat. Прописал настройки "BOSH url" и xmpp домен. Чат конектится, связь установлена.
Дополню, что у чата на отдельных серверах ldap и база данных.
Моя задача, чтобы пользователи в чат брались из Ldap. В вадминке ejabberd видны пользователи из ldap. Чат запускается. Но при добавлении пользователя в чат, для общения он берет uid из Nextcloud, а не из ldap.
Скрин ниже.
Ошибок при запуске и работе нет. Настройки ldap и bd прописаны верно.
Вот ошибка, которая выскакивает, только при добавлении логина:
2017-12-14 22:22:36.752 [error] <0.354.0>@ejabberd_odbc:outer_transaction:452 SQL transaction restarts exceeded
** Restarts: 10
** Last abort reason: [{severity,'ERROR'},{code,<<"23502">>},{message,<<"null value in column \"server_host\" violates not-null constraint">>},{detail,<<"Failing row contains (xen, null, test@appxmpp.lab.lan, , N, I, , N, , item, 2017-12-14 22:22:36.714091).">>},{115,<<"public">>},{116,<<"rosterusers">>},{99,<<"server_host">>},{file,<<"execMain.c">>},{line,1699},{routine,<<"ExecConstraints">>}]
** Stacktrace: [{ejabberd_odbc,sql_query_t,1,[{file,"src/ejabberd_odbc.erl"},{line,175}]},{odbc_queries,update_t,4,[{file,"src/odbc_queries.erl"},{line,84}]},{mod_roster,'-process_subscription/6-fun-0-',6,[{file,"src/mod_roster.erl"},{line,822}]},{ejabberd_odbc,outer_transaction,3,[{file,"src/ejabberd_odbc.erl"},{line,445}]},{ejabberd_odbc,run_sql_cmd,4,[{file,"src/ejabberd_odbc.erl"},{line,382}]},{p1_fsm,handle_msg,10,[{file,"src/p1_fsm.erl"},{line,582}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]
** When State == {state,<0.374.0>,pgsql,30000,<<"appxmpp.lab.lan">>,1000,{0,{[],[]}}}
ejabberd_odbc:outer transaction:452 SQL transaction restarts exceeded
В чем могу ошибаться ? Буду благодарен за любую помощь. Заранее спасибо.
Скрин добавления пользователя из ldap, а чат берет uid из Nextcloud.