PATCH: Proper namespaces handling in DJabberd

Daniel Ruoso daniel at ruoso.com
Fri Jun 12 13:38:38 UTC 2009


Em Qua, 2009-06-10 às 14:51 -0700, Martin Atkins escreveu:
> While I agree that there are some bugs here, it seems like even if we 
> did preserve the prefixes your faultcode and faultstring elements would 
> be in the wrong namespace, because the default namespace within the XMPP 
> stream is jabber:client, jabber:server or whatever.
> Is there something else we need to do here to make faultcode and 
> faultstring work as expected? I'm not really familiar with SOAP iself, 
> let alone SOAP over XMPP, so if I'm misunderstanding what's going on 
> here please let me know... I just want to make sure that we are indeed 
> addressing all of the prefix-related problems.

Ok, that's something that can be worked out simply by adding xmlns="",
which reverts the default namespace to unqualified, as can be seen in
the xml-names spec[1]

                The attribute value in a default namespace declaration
                MAY be empty. This has the same effect, within the scope
                of the declaration, of there being no default namespace.

So the example message becomes:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://soap..." xmlns="">
 <SOAP-ENV:Body>
  <SOAP-ENV:Fault>
   <faultcode>SOAP-ENV:Server</faultcode>
   <faultstring>Bla bla bla</faultstring>
  </SOAP-ENV:Fault>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

and then faultcode and faultstring becomes unqualified.

[1] http://www.w3.org/TR/xml-names/#defaulting



More information about the Djabberd mailing list