Retrieving archive messages using openfire monitor

2019-02-05 01:49发布

I use XMPP with openfire server for my website im. I've enabled monitoring service plugin, so I can archive messages.

When I send an iq stanza to retrieve a collection, the server response is an error iq stanza.

This is the request

<iq type='get' id='user13' xmlns='jabber:client'>
   <list xmlns='urn:xmpp:archive' with='b31315847fed0d6728d5fb763e4a53b09d6fb549@user-pc'>
     <set xmlns='http://jabber.org/protocol/rsm'>
        <max>
          10
        </max>
     </set>
   </list>
</iq>

And this is the server response :

<iq xmlns='jabber:client' type='error' id='user13' to='dff4bb27259100a5b158ba2477037da823d54229@user-pc/68154bb7'>
    <error code='501' type='cancel'>
        <feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
    </error>
</iq>

When I take a look at openfire admin console, I can view the archived conversations, so I expect my request to work fine, which is not the case.

What's going on?

标签: xmpp openfire
1条回答
小情绪 Triste *
2楼-- · 2019-02-05 02:11

Your stanza is correct. But the plugin seems not working.

Openfire Monitoring plugin isn't designed for message archiving. The main purpose of this plugin is for traffic statistic logging & monitoring.

You can take a look on Monitoring Plugin readme page. Message archiving has just added in version 1.3. The message are saved but it's just for logging & monitoring purpose.

I've tried this plugin too & I can't retrieve message history by this plugin.

As a solution, you can install OpenArchive plugin rather than Openfire Monitoring plugin. This plugin is specified for message archiving & retrieval.

I've install OpenArchive 1.6 & it works for me.

My reference: http://community.igniterealtime.org/message/227791#227791

查看更多
登录 后发表回答