2017-06-30 1 views
0

ejabberd(jessie-backportsから16.09)のユーザーのメッセージのアーカイブをmod_mam例2.ユーザーがアーカイブにメッセージを照会しますが、「No module is handling this query」エラーが発生し続けます。503指定されたユーザー(mod_mam)のアーカイブを照会するときに "service-unavailable"エラーが発生しました

サーバーとの対話は、Babbler Javaクライアントで実行されています。その後、セッション構成に追加されている

@XmlRootElement(name = "query", namespace = "urn:xmpp:mam:2") 
@XmlAccessorType(XmlAccessType.FIELD) 
public final class UserMessageArchiveQuery { 

    @XmlAttribute(name = "queryid") 
    private String queryId; 

    public UserMessageArchiveQuery() {} 

    public String getQueryId() { 
    return queryId; 
    } 

    public void setQueryId(String string) { 
    this.queryId = string; 
    } 
} 

:ここ

は、カスタムペイロードクラスです。

XmppSessionConfiguration sessionConfiguration = 
    XmppSessionConfiguration 
    .builder() 
    .extensions(Extension.of(UserMessageArchiveQuery.class)) 
    .build(); 

これで、私はそれに応じてメッセージを送受信できるようになり、正常に動作する接続を確立できます。

XmppClient client = XmppClient.create("localhost", sessionConfiguration, tcpConfiguration, boshConfiguration); 
client.connect(); 
client.login("someuser", password); 

ここでは、物事は南に行く。所与のユーザおよびペイロードのIQの準備、およびサーバを照会次のようejabberdのログを覗く

UserMessageArchiveQuery payload = new UserMessageArchiveQuery(); 
IQ iq = IQ.set(Jid.of("[email protected]"), payload); 
return client.query(iq).getResult(); 

、サーバに送信されたXMLは、次のとおり

<iq id="47a6204a-6ac3-453b-9dfd-7488ec6de734" to="[email protected]" type="set"> 
    <query xmlns="urn:xmpp:mam:2"></query> 
</iq> 

に我々が得るどの:

packet {xmlel,<<"iq">>,[{<<"type">>,<<"error">>},{<<"from">>,<<"[email protected]">>},{<<"xml:lang">>,<<"en-US">>},{<<"id">>,<<"47a6204a-6ac3-453b-9dfd-7488ec6de734">>}],[{xmlel,<<"query">>,[{<<"xmlns">>,<<"urn:xmpp:mam:2">>}],[]},{xmlel,<<"error">>,[{<<"code">>,<<"503">>},{<<"type">>,<<"cancel">>}],[{xmlel,<<"service-unavailable">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[]},{xmlel,<<"text">>,[{<<"xmlns">>,<<"urn:ietf:params:xml:ns:xmpp-stanzas">>}],[{xmlcdata,<<"No module is handling this query">>}]}]}]} 

私はmod_mamが有効になっており、私は、「アーカイブ」の表にアーカイブされたメッセージを見ることができるように、正常に動作していることを確信しています。私はさらに進める方法を知らない。

答えて

1

ejabberdは現在urn:xmpp:mam:2をサポートしていません。

関連する問題