Hello. 8-)
In SOAP, fault codes are defined to be qualified names. The
specification lists four predefined codes. Then it also adds that
the fault codes are extensible by separating more and less
general identifiers with a dot character.
I have a couple of issues with this approach to extensibility.
1) from the XML viewpoint Client and Client.Authentication are
completely different identifiers. From an XML perspective it is
impossible to say that "Client.Authentication" is still a "Client"
fault.
2a) The specification seems to say that these extended identifiers
will still be in the SOAP envelope namespace. Does this mean that
anybody can arbitrarily extend the W3C SOAP envelope namespace?
2b) If the new, extended fault codes are to be in a different
namespace, there is again no way to know that
{some-namespace}Client.Authentication is actually also a
{soap-envelope-namespace}Client fault.
3) There already is a <detail> element in the fault which might
be a good place to put the detail information into.
I think W3C specs should leverage what XML already provides (like
qnames and hierarchical data) and minimize parsing that must be
done above what XML processor does. This comment is actually also
valid on the SOAP encoding array attributes. 8-)
Jacek Kopecky
Idoox
http://www.idoox.com/