2

ejabberdBOSH Manager基づいてノードを作成しようとしていますpubsub model。しかし、同じことをしようとすると、feature-not-implementedエラーが発生します。その背後にある理由が何であるかは本当にわかりません。

プライバシー上の理由から、実際のドメイン名をexample.com

これが、作成からのスタンザワークフロー全体です->構成の送信->応答の受信。

1) クライアントから送信されるノードを作成する

<body rid='2941054258' xmlns='http://jabber.org/protocol/httpbind' sid='79a157493e8d93a93949c358bd71bc394499bebd'>
    <presence xmlns='jabber:client'>
        <priority>-1</priority>
    </presence>
    <iq to='pubsub.example.com' type='set' xmlns='jabber:client' id='5224:sendIQ'>
    <pubsub xmlns='http://jabber.org/protocol/pubsub'>
        <create node='news'/>
    </pubsub>
    </iq>
</body>

2) サーバーから受信するノードを作成する

<body xmlns='http://jabber.org/protocol/httpbind'>
    <presence xmlns='jabber:client' from='hunty@example.com/4529683821343890277773299' to='niharb@example.com/6976111021343894644477923'>
        <priority>-1</priority>
        <delay xmlns='urn:xmpp:delay' from='hunty@example.com/4529683821343890277773299' stamp='2012-08-02T06:51:19Z'>
        </delay>
    <x xmlns='jabber:x:delay' stamp='20120802T06:51:19'/>
    </presence>
    <presence xmlns='jabber:client' from='niharb@example.com/6976111021343894644477923' to='niharb@example.com/6976111021343894644477923'>
        <priority>-1</priority>
    </presence>
    <iq xmlns='jabber:client' from='pubsub.example.com' to='niharb@example.com/6976111021343894644477923' id='5224:sendIQ' type='result'>
    <pubsub xmlns='http://jabber.org/protocol/pubsub'>
        <create node='news'/>
    </pubsub>
    </iq>
</body>

3) 構成をサーバーに送信する

<body rid='2941054259' xmlns='http://jabber.org/protocol/httpbind' sid='79a157493e8d93a93949c358bd71bc394499bebd'>
    <iq to='pubsub.example.com' type='set' xmlns='jabber:client' id='5225:sendIQ'>
        <pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
            <configure node='news'>
            <x xmlns='jabber:x:data' type='submit'>
                <field var='FORM_TYPE' type='hidden'>
                    <value>http://jabber.org/protocol/pubsub#node_config</value>
                </field>
                <field var='pubsub#deliver_payloads'>
                    <value>1</value>
                </field>
                <field var='pubsub#send_last_published_item'>
                    <value>never</value>
                </field>
                <field var='pubsub#persist_items'>
                    <value>1</value>
                </field>
                <field var='pubsub#max_items'>
                    <value>20</value>
                </field>
            </x>
            </configure>
        </pubsub>
    </iq>
</body>

4) feature-not-implementedというエラーでサーバーから設定を返す

<body xmlns='http://jabber.org/protocol/httpbind'>
    <iq xmlns='jabber:client' from='pubsub.example.com' to='niharb@example.com/6976111021343894644477923' type='error' id='5225:sendIQ'>
    <pubsub xmlns='http://jabber.org/protocol/pubsub#owner'>
    <configure node='news'>
    <x xmlns='jabber:x:data' type='submit'>
        <field var='FORM_TYPE' type='hidden'>
            <value>http://jabber.org/protocol/pubsub#node_config</value>
        </field>
        <field var='pubsub#deliver_payloads'>
            <value>1</value>
        </field>
        <field var='pubsub#send_last_published_item'>
            <value>never</value>
        </field>
        <field var='pubsub#persist_items'>
            <value>1</value>
        </field>
        <field var='pubsub#max_items'>
            <value>20</value>
        </field>
    </x>
    </configure>
    </pubsub>
    <error code='501' type='cancel'>
        <feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    </error>
    </iq>
</body>
4

0 に答える 0