我正在尝试获取节点(在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示例。
答案 0 :(得分:0)
我怀疑“to”地址不正确,并且数据包未发送到服务器中的pubsub服务。尝试初始化你的pubsub经理。
PubSubManager mgr = new PubSubManager(xmpp, "pubsub.xmppdomain.com");
其中xmppdomain.com当然是您真正的xmpp域名。
您可以使用smack.debugEnabled(或者与Android等效的任何东西)运行来检查正在发送的XML,以确认它应该在哪里。