Hi,
I am trying to connect to a tigase server, and read the roster, using a fresh copy of Smack 4.0.5.
After I connect, I get a “IQ Received” packet like this:
<item jid="user0000@group2.2.1" name="user0000" subscription="both">
<group>Group Roster</group>
</item>
<item jid="user0001@group2.2.1" name="user0001" subscription="both">
<group>Group Roster</group>
</item>
<item jid="user0002@group2.2.1" name="user0002" subscription="both">
<group>Group Roster</group>
</item>
etc…
<item jid="user0019@group2.2.1" name="user0019" subscription="both">
<group>Group Roster</group>
</item>
When Smack 4.0.5 sees this, it issues the warning:
WARNING: Ignoring roster push with not exaclty one entry. size=20
However, from RFC-3921:
- Roster Management
etc…
7.1. Syntax and Semantics
Rosters are managed using IQ stanzas, specifically by means of a
child element qualified by the ‘jabber:iq:roster’ namespace.
The element MAY contain one or more children, each
describing a unique roster item or “contact”.
So, this appears to state that the stanza is correct, and that the error is not valid:
Roster.java:1043
// A roster push must contain exactly one entry
Collection items = rosterPacket.getRosterItems();
if (items.size() != 1) {
LOGGER.warning(“Ignoring roster push with not exaclty one entry. size=” + items.size());
return;
}
So, I guess my question is, who is right? I can’t imagine that Smack has not been handling rosters correctly… Maybe it’s a configuration thing?
Thanks very much for any help!
–
Jamie.