我正在尝试使用 Smack 将带有有效负载的项目发布到 pubsub 节点,但到目前为止我还没有管理。我已经创建了节点并将其配置设置为传递有效负载 (setDeliverPayloads=true)。我正在使用 send 方法发送带有有效负载的项目。
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 消息,但我会尽量避免这种情况,以尽可能使用 smack API 中的 PubSubManager。