asmack pubsub getItems错误

时间:2013-01-14 13:27:59

标签: android xmpp publish-subscribe asmack

我正在尝试使用Pubsub节点向服务器发布一些信息。但是,我无法检索之前发布的节点。只是与以下链接中的问题非常相似:    http://community.igniterealtime.org/message/199690#199690

具体来说,代码片段如下:

 try {
            LeafNode node = mPubsub.getPEPNode(USEINFONODE,mFrom);
            if(null != node){
                List<Item> items = node.getItems();
                Log.i("items",items.toString());
            }

        } catch (XMPPException e) {
            Log.e("userInfoExtension","error : and the error is " + e.toString());
        }

并且输出错误不是来自服务器的重新定位。

调试的输出就像这样:

<iq id="B9tI0-4" to="pubsub.mymachine" type="get"><query xmlns="http://jabber.org/protocol/disco#info" node="theNode"></query></iq>
<iq id="B9tI0-5" to="pubsub.mymachine" type="get"><pubsub xmlns="http://jabber.org/protocol/pubsub"><items node='theNode'/></pubsub></iq>

但是根据上面提到的链接,预期的iq节应该是这样的:

<iq type='get'
    from='notifyserver@mymachine'
    to='pubsub.mymachine'
    id='items1'>
  <query xmlns='http://jabber.org/protocol/disco#items'
         node='theNode'/>
</iq>

所以它显示我错过了iq节中的from字段,我想知道如何将from ='client @ server'放入iq节。我尝试过asmack库,包括: asmack-android-7.jar,asmack-android-7-beem.jar asmack-android-16-beem.jar,都失败了。

任何人都可以帮忙吗?非常感谢。

我发现它与接收数据包有关。实际上我收到了我需要的数据包,麻烦的是数据包可能无法在某处被smack处理,并且它不会从服务器异常中抛出任何响应。    所以我认为问题实际上是没有正确接收传入数据包。  我的另一个问题也是如此:

 http://stackoverflow.com/questions/14357707/how-to-send-and-listen-to-custom-xmpp-presence-packet-with-asmack-the-library

1 个答案:

答案 0 :(得分:0)

我很抱歉误导你!错误是由我的扩展提供程序导致解析 数据包进入无限循环,因此导致服务器异常无响应。