Smack を使用して、ペイロードを持つアイテムを pubsub ノードに公開しようとしていますが、これまでのところ管理できませんでした。ノードを作成し、ペイロードを配信するように構成を設定しました (setDeliverPayloads=true)。send メソッドを使用して、ペイロードを含むアイテムを送信しています。
node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload("my book", "books:pubsub:simple", "")));
それにもかかわらず、アイテムはペイロードなしで公開されます。構築された IQ にもペイロードはありません。スマックのデバッグパネルからわかるように
これは 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 を使用するようにします。