powered by Jive Software

Smack 4.2: OfflineMessageManager can´t receive messages


#1

Hey,
I can not receive the messages from the “OfflineMessageManager”. The offline storage of the user includes six messages, if I execute manager.getMessageCount();. This method works well.
If I want to receive the messages with manager.getMessages();, I get a result of zero.

This is my XMPP stack trace:

19:52:29 RECV (0): <a h='15' xmlns='urn:xmpp:sm:3'/><iq xml:lang='en' to='user2@localhost/96323735731335202743106' from='user2@localhost' type='result' id='WoY33-35'><query node='http://jabber.org/protocol/offline' xmlns='http://jabber.org/protocol/disco#info'><identity type='message-list' category='automation'/><identity type='registered' category='account'/><feature var='http://jabber.org/protocol/offline'/><x type='result' xmlns='jabber:x:data'><field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/offline</value></field><field var='number_of_messages' type='text-single' label='Number of Offline Messages'><value>6</value></field></x></query></iq>
Count: 6
19:52:29 SENT (0): <iq id='WoY33-37' type='get'><offline xmlns='http://jabber.org/protocol/offline'><fetch/></offline></iq>
19:52:29 RECV (0): <r xmlns='urn:xmpp:sm:3'/>
19:52:29 SENT (0): <a xmlns='urn:xmpp:sm:3' h='15'/>
19:52:29 RECV (0): <iq xml:lang='en' to='user2@localhost/96323735731335202743106' from='user2@localhost' type='result' id='WoY33-37'/>
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at io.XXXXXXX.Main.main(Main.java:138)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

I don´t know whats wrong, because it was working before.
Server: Ejabberd (17.09)

When I open the offline storage of the user, this message is shown (example):

<message xml:lang='en'
         to='user2@localhost'
         from='user1@localhost/test'
         id='LrRDN-39'
         xmlns='jabber:client'>
  <body>Offline test</body>
</message>

Thanks in advance.


#2

I don’t think that this is a Smack issue. For some reason your XMPP server does not send the messages, I’d suggest asking for help in the ejabberd community.