发布到节点时服务器没有响应

时间:2012-08-04 19:18:16

标签: android xmpp asmack bosh

我正在尝试获取节点(在android中并使用asmack库)并尝试在该节点上发布一些内容,但不幸的是 何时node = (LeafNode) mgr.getNode(nodeNameTxt.getText().toString()); line得到执行我得到以下错误

 No response from server.: 
at org.jivesoftware.smackx.pubsub.packet.SyncPacketSend.getReply(SyncPacketSend.java:50)
at org.jivesoftware.smackx.pubsub.packet.SyncPacketSend.getReply(SyncPacketSend.java:61)
at org.jivesoftware.smackx.pubsub.PubSubManager.getNode(PubSubManager.java:161)
at com.bcl.NodeManager.publishNode(NodeManager.java:176)
at com.bcl.NodeManager.access$1(NodeManager.java:167)
at com.bcl.NodeManager$2.run(NodeManager.java:101)
at java.lang.Thread.run(Thread.java:1019)

这是我的代码

    PubSubManager mgr = new PubSubManager(xmpp, "pubusb.example.com");
          // Get the node
    LeafNode node;

    try {
            //HERE I AM GETTING THE ERROR
        node = (LeafNode) mgr.getNode(nodeNameTxt.getText().toString());
        node.send(new PayloadItem("test" + System.currentTimeMillis(), 
                   new SimplePayload("book", "pubsub:test:book", "")));
    } catch (XMPPException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
    }

即使执行了以下行,我也会收到同样的错误

createLeaf = mgr.createNode(nodeNameTxt.getText().toString());

我真的不知道发生了什么,因为我设置SmackConfiguration.setPacketReplyTimeout(10000); 和服务器运行正常,同时停止javascript示例。

1 个答案:

答案 0 :(得分:0)

我怀疑“to”地址不正确,并且数据包未发送到服务器中的pubsub服务。尝试初始化你的pubsub经理。

PubSubManager mgr = new PubSubManager(xmpp, "pubsub.xmppdomain.com");

其中xmppdomain.com当然是您真正的xmpp域名。

您可以使用smack.debugEnabled(或者与Android等效的任何东西)运行来检查正在发送的XML,以确认它应该在哪里。

相关问题