我试图通过ejabberd服务器上的管理员帐户获取用户的名单。
这就是我想要做的事情:
<iq
id='get-user-roster-2'
to='localhost'
type='set'
xml:lang='en'>
<command xmlns='http://jabber.org/protocol/commands'
node='http://jabber.org/protocol/admin#get-user-roster'
sessionid='2012-12-04T12:44:27.123921Z'>
<x xmlns='jabber:x:data' type='submit'>
<field type='hidden' var='FORM_TYPE'>
<value>http://jabber.org/protocol/admin</value>
</field>
<field var='accountjids'>
<value>myuser@localhost</value>
</field>
</x>
</command>
</iq>
返回:
<iq from='server@localhost' to='server@localhost/server@localhost/' type='error' id='purple64033b0f'>
<ping xmlns='urn:xmpp:ping'/>
<error code='503' type='cancel'>
<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
</error>
</iq>
任何想法意味着什么以及我如何解决它?我是XMPP的新手。
任何指针都表示赞赏。
感谢。
答案 0 :(得分:1)
XEP-0133简介:
管理员经常需要执行一组与Jabber / XMPP服务器相关的常见服务级别任务........ 本文档通过指定Ad-Hoc命令的配置文件来描述此类协议。关联的数据表单字段,而不是通过定义专门的和不同的协议。
XEP-0133要求:
使具有相应权限的用户能够执行与Jabber / XMPP服务器和组件相关的常见管理任务。
尽可能重复使用现有的XMPP和Jabber协议。
所以我认为你没有Ad-Hoc命令或数据表单service.u可以 使用服务发现XEP-0030
进行检查