[jdev] IQ request response query

Vinod Panicker vinod.p at gmail.com
Tue Dec 6 22:56:15 CST 2005


On 12/7/05, Peter Saint-Andre <stpeter at jabber.org> wrote:
> Vinod Panicker wrote:
> > On 11/11/05, Vinod Panicker <vinod.p at gmail.com> wrote:
> >> Sorry!  The stanza should have been like this -
> >>
> >>   <iq from='juliet at example.com/balcony' type='set' id='roster_4'>
> >>     <query xmlns='jabber:iq:roster'>
> >>       <item jid='abc at example.com' subscription='remove'/>
> >>       <item jid='def at example.com' subscription='remove'/>
> >>       <item jid='ghi at example.com' subscription='remove'/>
> >>     </query>
> >>   </iq>
> >>
> >>
> >> On 11/10/05, Jacek Konieczny <jajcus at jajcus.net> wrote:
> >>> On Thu, Nov 10, 2005 at 04:00:47PM +0530, Vinod Panicker wrote:
> >>>> Consider this scenario -
> >>>>
> >>>> Client sends IQ stanza for removing three roster items from the roster
> >>>> of juliet at example.com .
> >>>>
> >>>>    <iq from='juliet at example.com/balcony' type='set' id='roster_4'>
> >>>>      <query xmlns='jabber:iq:roster'>
> >>>>        <item jid='abc at example.com' subscription='remove'/>
> >>>>      </query>
> >>>>      <query xmlns='jabber:iq:roster'>
> >>>>        <item jid='def at example.com' subscription='remove'/>
> >>>>      </query>
> >>>>      <query xmlns='jabber:iq:roster'>
> >>>>        <item jid='ghi at example.com' subscription='remove'/>
> >>>>      </query>
> >>>>    </iq>
> >>> This is not a legal XMPP stanza. <iq/> stanza may contain only _one_
> >>> payload element.
> >
> > No closure on this, so what I'm doing is sending separate error and
> > success stanzas to each of the items in the single iq stanza.
>
> What do you mean, no closure? Please provide exactly what you are
> sending and receiving so we can critique it. Sending a separate roster
> push for each item removed seems appropriate if you are sending multiple
> removes in a single IQ set. However, sending multiple removes in a
> single IQ set seems wrong (or at least misguided) to me. I thought the
> spec prohibited including more than one <item/> when sending an IQ-set
> to the server, but I can't find that in RFC 3921. What is the use case
> for doing that? Perhaps we need to clean that up in rfc3921bis because I
> think it's a bad idea.

Thanks for the response. Since the RFC is not expressly forbidding it
(and there are places where we do need to have multiple items in an iq
get, such as roster retrieval), I am assuming that a client MAY send
such a request.  Thats why I was looking at possible ways of handling
it.  Allowing something like this is definitely a bad idea.  And I'm
in favour of adding this in rfc3921bis.

Regards,
Vinod.

PS: This is the closure I was talking abt :)



More information about the JDev mailing list