Xmpp 使用Smack将具有有效负载的项目发布到Pubsub节点
我正试图使用Smack将带有有效负载的项目发布到pubsub节点,但到目前为止我还没有成功。我已经创建了节点,并将其配置设置为交付有效负载setDeliverPayloads=true。我正在使用send方法发送带有有效负载的项目Xmpp 使用Smack将具有有效负载的项目发布到Pubsub节点,xmpp,publish-subscribe,openfire,smack,whack,Xmpp,Publish Subscribe,Openfire,Smack,Whack,我正试图使用Smack将带有有效负载的项目发布到pubsub节点,但到目前为止我还没有成功。我已经创建了节点,并将其配置设置为交付有效负载setDeliverPayloads=true。我正在使用send方法发送带有有效负载的项目 node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload("my book", "books:pubsub:simple", "
node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload("my book", "books:pubsub:simple", "")));
然而,发布该项目时没有有效载荷。构造的IQ也没有有效载荷。正如我从smack的调试面板中看到的
这是由smack构造并发送到pubsub服务的内容,显然没有有效负载
<iq id="1ha20-11" to="pubsub.127.0.0.1" type="set">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="autoIncrement">
<item id="autoIncrement*1333380921970"/>
</publish>
</pubsub>
</iq>
如果能为解决这个问题提供任何帮助,我将不胜感激。当然,我仍然可以使用本机IQ消息,但我将尽量避免使用本机IQ消息,以便在smack API中使用PubSubManager。以上代码没有任何问题。唯一的问题是,上面提供的示例确实有一个空的负载SimplePayloadmy book,books:pubsub:simple,因此smack甚至根本不显示该项的负载 指定有效负载后,它将包含在发布的项目中 下面是用于发布具有有效负载的项的代码
node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload(load, "stage:pubsub:simple", "<book xmlns='pubsub:test:book'><title>Lord of the Rings</title></book>")));
这是发送到Jabbered服务器的预期IQ
<iq id="OIqU4-12" to="pubsub.stage.127.0.0.1" type="set">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="autoIncrement">
<item id="autoIncrement*1333438199718">
<book xmlns="pubsub:test:book">
<title>Lord of the Rings</title>
</book>
</item>
</publish>
</pubsub>
</iq>
上面的代码没有任何问题。唯一的问题是,上面提供的示例确实有一个空的负载SimplePayloadmy book,books:pubsub:simple,因此smack甚至根本不显示该项的负载 指定有效负载后,它将包含在发布的项目中 下面是用于发布具有有效负载的项的代码
node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload(load, "stage:pubsub:simple", "<book xmlns='pubsub:test:book'><title>Lord of the Rings</title></book>")));
这是发送到Jabbered服务器的预期IQ
<iq id="OIqU4-12" to="pubsub.stage.127.0.0.1" type="set">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="autoIncrement">
<item id="autoIncrement*1333438199718">
<book xmlns="pubsub:test:book">
<title>Lord of the Rings</title>
</book>
</item>
</publish>
</pubsub>
</iq>