2014-10-09 3 views
0

Я попытался использовать strophe.js с помощью метода iq, и я могу получить количество онлайн-пользователей, но я не могу получить список онлайн-пользователей с моего сервера Openfire 3.9.3.XEP-0133: Запрос администратора, чтобы получить список всех онлайн-пользователей

XMPP тело запроса:

<iq from='[email protected]/7adf302e' to='[email protected]' type='set' xml:lang='en' xmlns='jabber:client' id='6816:sendIQ'> 
    <command xmlns='http://jabber.org/protocol/commands' node='http://jabber.org/protocol/admin#get-online-users-list' /> 
</iq> 

XMPP ответ

<iq xmlns="jabber:client" type="error" id="6816:sendIQ" from="[email protected]" to="[email protected]/7adf302e"> 
    <command xmlns="http://jabber.org/protocol/commands" node="http://jabber.org/protocol/admin#get-online-users-list"/> 
    <error code="404" type="cancel"> 
    <item-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/> 
    </error> 
</iq> 

Ссылка: http://xmpp.org/extensions/xep-0133.html#get-online-users-list

ответ

1

Как описано в XEP-0050 , ответ об ошибке item-not-found на запрос команды означает, что «ответный JID не может найти запрошенный командный узел», то есть сервер не поддерживает команду для получения списка онлайн-пользователей.

С быстрым взглядом на исходный код Openfire кажется, что он поддерживает команду Get List of Active Users на узле http://jabber.org/protocol/admin#get-active-users. Похоже, что эта команда просто возвращает пользователей, подключенных к серверу, поэтому я не уверен, что это в любом случае отличается от команды «получить всех онлайн-пользователей» в этом случае.

+0

Обращаясь к XEP-0050, я могу получить список всех команд администратора. Но мне нужно выполнить больше команд, описанных в XEP-0133. Есть ли способ добавить команду ?. – Pandiarajan

+0

Это зависит от того, какой сервер вы используете. – legoscia

+0

Я использую сервер Openfire 3.9.3. – Pandiarajan

Смежные вопросы