2012-04-02 1 views
1

Я пытаюсь использовать Smack для публикации элемента с полезной нагрузкой на узел pubsub, но пока я не справился. Я создал узел и установил его конфигурацию для доставки полезной нагрузки (setDeliverPayloads = true). Я использую метод отправки для отправки элемента с полезной нагрузкой.Публикация элемента с полезной нагрузкой на узел Pubsub с использованием Smack

node.send(new PayloadItem(this.clientNodeName+"*" + System.currentTimeMillis(), new SimplePayload("my book", "books:pubsub:simple", ""))); 

Тем не менее, изделие опубликовано без дополнительной информации. Построенный IQ также не имеет полезной нагрузки. Как я могу видеть из хлопать отладки панели

Это то, что строится привкусом и отправляется на службу 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, но я постараюсь избежать этого, используя как можно больше, используя PubSubManager в API smack.

ответ

5

Код, указанный выше, не содержит проблем. Единственная проблема заключается в том, что приведенный выше пример имеет пустую полезную нагрузку (SimplePayload («моя книга», «книги: 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>"))); 

и это ожидаемый 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> 
+0

спасибо человеку, ты жизнь благоухание;) – Gurupriyan

 Смежные вопросы

  • Нет связанных вопросов^_^