我正在使用strophe和Openfire 3.7.1(使用用户服务和监控插件)。
我读过http://xmpp.org/extensions/xep-0136.html(7.2检索集合) 我可以检索存档的邮件。我已经将monitoring.jar插件安装到我的openfire服务器上并启用了存档功能。我已经读过我需要开放存档来查询存档,但这个功能已经在Monitoring插件中了。
引用监控插件自述文件: “监控插件增加了对Openfire的聊天归档和服务器统计数据的支持。它支持生成有关服务器统计信息的各种报告,以及管理,查看和报告聊天记录。”
我可以在监控GUI中看到存档的消息,但我想在我的客户端中使用strophe.js库检索它。我不知道怎么做。 在XEP-0136示例中,他们创建了这样的IQ:
<iq type='get' xmlns='jabber:client'><retrieve xmlns='urn:xmpp:archive' with='test@localhost'>set</retrieve></iq> { nodeTree=iq, node=retrieve}
然而,openfire似乎没有回复。我不确定是否应该使用开放存档插件,因为如果我检查我的监控选项卡,档案已经存在。而且大多数关于开放存档的帖子都是2年,所以我不确定它是否仍然受支持。请指教。
最诚挚的问候,
史蒂文森李
答案 0 :(得分:2)
应该是这样的
<iq type='get' id='juliet1'>
<list xmlns='urn:xmpp:archive'
with='juliet@capulet.com/chamber'>
</list>
</iq>
<iq type='get' id='page1'>
<retrieve xmlns='urn:xmpp:archive'
with='juliet@capulet.com/chamber>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>100</max>
</set>
</retrieve>
</iq>
或者你做了别的什么
答案 1 :(得分:1)
我能够让它运转起来。我基本上必须设置服务器并使用符合xep-0136的客户端(vacuum im)进行测试。我的IQ请求出错,导致服务器错误。正确的请求应该是一个列表请求,以获取聊天列表。以及获取特定会话详细信息的检索请求。希望它可以帮助那些遇到同样问题的人。 vacuum有一个很棒的xml控制台,它向我展示了我需要的建议。我确实在构建它时遇到了问题。但是我能够构建并运行我从他们的svn获得的src(http://code.google.com/p/vacuum-im/source/checkout)