3

我正在尝试通过 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 的新手。

任何指针表示赞赏。

谢谢。

4

1 回答 1

1

XEP-0133 简介:
存在一组与 Jabber/XMPP 服务器相关的管理员经常需要执行的常见服务级别任务........本文档通过指定 Ad-Hoc 的配置文件来描述此类协议命令和相关的数据表单字段,而不是通过定义专门的和不同的协议。
XEP-0133 要求:
使具有适当权限的用户能够执行有关 Jabber/XMPP 服务器和组件的常见管理任务。
尽可能重复使用现有的 XMPP 和 Jabber 协议。


所以我认为你没有 Ad-Hoc 命令或数据表单服务。你可以通过服务发现 XEP-0030检查这个

于 2012-12-06T13:30:56.947 回答