我正在尝试使用XMPP和BOSH Manager在ejabber中创建一个节点。但我想知道需要在create node节中传递什么值。
以下是create node节的格式,但我无法创建它,所以任何人都可以告诉我需要传递哪些值
在<formvalue> <tovalue> <nodevalue>
<iq type='set'
from='<fromvalue>'
to='<tovalue>'
id='create1'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<create node='<nodevalue>'/>
</pubsub>
</iq>
注意:
我使用的是ejabbered,而BOSH的网址是http://example.com:5280/xmpp-http-bind
。
我试过这个,我得到功能未实现的错误
<body rid='95507820' xmlns='http://jabber.org/protocol/httpbind' sid='5c4fbfe432babab58fe5e39367fc1704c06ddfd7'>
<presence xmlns='jabber:client'>
<priority>-1</priority>
</presence>
<iq to='example.com' type='set' xmlns='jabber:client' id='3742:sendIQ'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<create/>
<configure/>
</pubsub>
</iq>
</body>
我也尝试了另一种方式,在这种情况下,我正在通过jid-malformed 创建失败
<body rid='2037203608' xmlns='http://jabber.org/protocol/httpbind' sid='2a198251db476ef0490a4d3f591468b69edaf35b'>
<presence xmlns='jabber:client'>
<priority>-1</priority>
</presence>
<iq to='example.com' type='set' xmlns='jabber:client' id='7398:sendIQ'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<create node='draw'/>
</pubsub>
</iq>
我也试过了 filepath 但是我的创建失败了,禁止
<body rid='358865391' xmlns='http://jabber.org/protocol/httpbind' sid='0f7cf72754f0fc3b0b04c8c0bb488e816380d741'>
<presence xmlns='jabber:client'>
<priority>-1</priority>
</presence>
<iq to='pubsub.example.com' type='set' xmlns='jabber:client' id='8556:sendIQ'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<create node='/home/localhost/john/draw/'/>
</pubsub>
</iq>
</body>
答案 0 :(得分:2)
嗯,这里有一个相关的documentation。
from
是发送iq的用户的jid,发送iq时总是如此。to
是您要为其创建节点的发布 - 订阅服务。典型值为pubsub.example.com
,但这实际上取决于服务器的配置。node
获取您创建的节点的ID。在某些服务器配置中,这具有语义含义(通常是路径),但请尝试使用mynode
。可能不允许发送iq的用户创建节点,或者服务不支持它。人们只能根据错误节来判断,如果有的话,如果上述情况不起作用,请发布你得到的错误。