使用 openfire 监控插件检索存档消息

Posted

技术标签:

【中文标题】使用 openfire 监控插件检索存档消息【英文标题】:Retrieving archive messages using openfire monitoring plugin 【发布时间】:2013-10-27 14:06:42 【问题描述】:

我将 XMPP 与 openfire 服务器一起用于我的网站即时通讯。我启用了监控服务插件,所以我可以存档消息。

当我发送 iq 节来检索集合时,服务器响应是错误 iq 节。

这是请求

<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>

这是服务器响应:

<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>

当我查看 openfire 管理控制台时,我可以查看存档的对话,所以我希望我的请求能够正常工作,但事实并非如此。

发生了什么事?

【问题讨论】:

我遇到了同样的问题,想知道您是否记得您安装的插件的版本。监控插件说它应该从 1.3 版开始支持 XEP-0136,但我也得到了一个未实现的功能。 @vinnybad,抱歉很久了,我才注意到你的评论。我不记得确切的版本了。 【参考方案1】:

你的节是正确的。但插件似乎不起作用。

Openfire 监控插件不是为邮件归档而设计的。该插件的主要用途是用于流量统计记录和监控。

您可以查看监控插件readme page。消息归档刚刚在 1.3 版本中添加。消息已保存,但仅用于记录和监控目的。

我也试过这个插件,我无法通过这个插件检索消息历史记录。

作为一种解决方案,您可以安装 OpenArchive 插件而不是 Openfire 监控插件。该插件专门用于消息归档和检索。

我已经安装了 OpenArchive 1.6,它适用于我。

我的参考:http://community.igniterealtime.org/message/227791#227791

【讨论】:

非常感谢我的朋友,解决问题已经一个多月了...我没有安装OpenArchive,但是我只是使用了监控服务本身的存档...我当然会考虑在下一个项目中使用 OpenArchive,因为我交付了上一个项目,+1 和最佳答案:) 最好的问候 @wlz 您是如何获得 OpenArchvie 1.6 的?博客链接都不起作用。只有这个 github repo 在那里:github.com/srt/openarchive(最新版本是1.0.2)我担心我是否可以可靠地使用这个插件。你还在用吗? @vedant1811 糟糕,链接似乎不再起作用了。我认为他们合并他们已经将其与 Openfire 监控插件合并(自 1.3 版起)igniterealtime.org/projects/openfire/plugins/monitoring/… 如果你还想获取 Open Archive 包,或许你可以试试这个链接code.google.com/p/vacuum-im/downloads/… @MrD 我正在使用带有 Strophe.js 的监控插件 1.7.0 和 plugin,它可以工作。

以上是关于使用 openfire 监控插件检索存档消息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 asmack android 从 Openfire 中检索一对一的聊天记录

Openfire:存档消息 NULL 参与者

使用 smack 从消息存档 openfire 中获取最新对话

openfire 监视器节 xml 消息

来自 Camel XMPP 的消息未通过 Openfire 到达 Pidgin

XMPP:如何查询特定名册的存在