执行临时命令
找到要使用的命令后,可以使用HTTP POST方法发送该命令。在此示例中,让我们请求一个活动用户列表,如上一节所述。注意:与前面的示例一样,这些命令需要基本的HTTP身份验证。
以下命令发送到http:// localhost:8080/rest/adhoc/sess-man@domain.com
http://jabber.org/protocol/admin#get-active-users node>
domainjid var>
domain.com value>
item>
max_items var>
25 value>
item>
fields> command>
此特定命令需要三个字段,domainjid和max_items。这三个值是命令的节点(在可用命令中返回),要从中返回域结果以及最大结果数。请记住,必须将Content-type:text / xml传递到HTTP标头以获取XML结果。不这样做可能会产生错误或难以理解的结果。该命令的结果将如下所示:
sess-man@domain.com jid>
http://jabber.org/protocol/admin#get-active-users node>
用户:3 var>
text-multi label>
admin@domain.com value>
user1@domain.com value>
morbo@domain.com value>
item>
fields> command>
可以类似的方式使用JSON发送和接收相似的结果。同样,请确保在标题或默认设置中设置ContentType:application / json。{
“命令”:{
“ node”:“ http://jabber.org/protocol/admin#get-active-users”,
“字段”:[
{
“ var”:“ domainjid”,
“ value”:“ subdomain.domain.com”
},
{
“ var”:“ max_items”,
“值”:“ 25”
}
]
}}
结果看起来与XML结果非常相似:{
“命令”:{
“ jid”:“ sess-man@domain.com”,
“ node”:“ http://jabber.org/protocol/admin#get-active-users”,
“字段”:[
{
“ var”:“ Users:2”,
“ label”:“ text-multi”,
“值”:[
“ minion1@subdomain.domain.com”,
“ overadmin@subdomain.domain.com”
]
}
]
}}