[JDEV] Jabber Server not conforming to Jabber Specs

Chris Chen ckchris at idream.net
Thu Oct 25 22:26:23 CDT 2001


I'm also confused about the Jabber Browsing Specs...  The specs doesn't 
really tell you exactly what namespace (xmlns) the tags are in.  Well, ok, 
it does tell you, in the "Namespace jabber:iq:browse" section of the specs, 
it says:

There is a new namespace containing the browsing data: 
jabber:iq:browse.  The elements within this namespace are identified by the 
categories listed above, with a few generic attributes.

So that tells me all the categories fall under this namespace (ie. service, 
conference, user, application, headline, render, keyword).  however, here's 
what I have found...

I submitted the message:

<iq type="get" to="jabber.org">
<service type="jabber" xmlns="jabber:iq:browse" jid="jabber.org"/>

The result I received back from Jabber server:

<iq xmlns="jabber:client" from="jabber.org" to="ckchris at jabber.org/Home" 
<service xmlns="jabber:client" jid="jabber.org" name="Jabber.org 
Development Server" type="jabber">
<service jid="users.jabber.org" name="Jabber User Directory" type="jud">
   <ns xmlns="jabber:iq:browse">jabber:iq:search</ns>
   <ns xmlns="jabber:iq:browse">jabber:iq:register</ns>
<conference xmlns="jabber:iq:browse" jid="private.jabber.org" name="Private 
Conferencing" type="private"/>
<service jid="yahoo.jabber.org" name="Yahoo! Messenger Service" type="yahoo">
   <ns xmlns="jabber:iq:browse">jabber:iq:gateway</ns>
   <ns xmlns="jabber:iq:browse">jabber:iq:register</ns>

Couple things to notice from this result:

1) It appears that jabber server is not abiding by the specs.  It is 
putting the <service> under the "jabber:client" namespace.  I thought this 
might be a booboo.  However, as I looked further, I noticed....

2) <conference> is actually in the correct namespace of 
"jabber:iq:browse"... so then I look at it more closely and from what I can 

3) <service> tags are all under "jabber:client" and not under 

 From what the specs says, the <service> tag is a category and should be 
under "jabber:iq:browse"... I have yet to find if <application>, <render>, 
<headline>,<keyword> conforms to "jabber:iq:browse".  <user> also conforms 
to "jabber:iq:browse"...

Is this a bug or am I reading the spec incorrectly?

I guess for now I'm gonna have to write a workaround for it.


PGP at ldap://certserver.pgp.com/

More information about the JDev mailing list