openfire消息档案管理中的服务不可用错误

我正在使用openfire 4.2.0监控插件1.6.0。

以下是openfire管理控制台上存档设置的屏幕截图。

在此处输入图像描述

以下是我正在使用的插件的屏幕截图。 在此处输入图像描述

我的问题

如您所见,插件已安装。 但当我尝试使用以下代码获取聊天记录时:我收到服务不可用的响应。

func fetchChatHistoryFromServer(completionHandler completion: @escaping FetchChatHistoryCompletionHandler) { let iq = DDXMLElement(name: "iq") iq.addAttribute(withName: "type", stringValue: "set") iq.addAttribute(withName: "id", stringValue: UserManager.shared.activeUser.jid) let query = DDXMLElement(name: "query") query.setXmlns("urn:xmpp:mam:2") query.addAttribute(withName: "queryid", stringValue: XMPPManager.shared.xmppStream.generateUUID) let x = DDXMLElement(name: "x") x.setXmlns("jabber:x:data") x.addAttribute(withName: "type", stringValue: "submit") let field = DDXMLElement(name: "field") field.addAttribute(withName: "var", stringValue: "FORM_TYPE") field.addAttribute(withName: "type", stringValue: "hidden") let fieldValue = DDXMLElement(name: "value", stringValue: "urn:xmpp:mam:2") field.addChild(fieldValue) x.addChild(field) query.addChild(x) iq.addChild(query) //let xmppResultSet = XMPPResultSet(max: 2000) Logger.log(iq) didFetchChatHistoryCompletionBlock = completion xmppMessageArchivingManagement?.retrieveMessageArchive(withFields: [iq], with: nil) } 

OutPut日志: –

     urn:xmpp:mam:2     

回应: –

     urn:xmpp:mam:2      urn:xmpp:mam:2          

openfire不支持urn:xmpp:mam:2你必须使用urn:xmpp:mam:1代替。 你必须在XMPPMessageArchiveManagemnt类中更改它。 只需转到XMPPMessageArchiveManagement类。在20行中它表示/** 'urn:xmpp:mam:2' */ extern NSString *const XMLNS_XMPP_MAM; 。 只需按住命令并在更改后点击XMLNS_XMPP_MAM urn:xmpp:mam:2urn:xmpp:mam:1