2

ノードを取得しようとしています (Android でasmackライブラリを使用)、そのノードを介していくつかのコンテンツを公開しようとしていますが、残念ながらnode = (LeafNode) mgr.getNode(nodeNameTxt.getText().toString()); 行が実行されると次のエラーが発生します

 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); .

4

1 に答える 1

0

「to」アドレスが正しくなく、パケットがサーバーの pubsub サービスに送信されていない可能性があります。このように pubsub マネージャーを初期化してみてください。

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

ここで、xmppdomain.com はもちろん実際の xmpp ドメインです。

smack.debugEnabled を on (または android に相当するもの) で実行して、送信されている XML をチェックし、あるべき場所に送信されていることを確認できます。

于 2012-08-07T13:31:50.453 に答える