axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Whitlock <>
Subject Nested namespace prefixes
Date Wed, 06 Apr 2005 09:06:03 GMT

The enumeration test sends this request message...

         <ns1:getInput xmlns:ns1="">
            <type att_enum_int="1" att_enum_string="one"

but when run against the latest WebSphere Application Server, the server
returns a deserialization fault. The problem seems to be prefixing enum_int
and enum_string. When these elements are unqualified (the prefixes are
removed), it works. The wsdl does not specify elementFormDefault, and the
default value is elementFormDefault="unqualified".

I discovered which explains this. It says
in section 3.1 2nd para "Qualification of local elements and attributes can
be globally specified by a pair of attributes, elementFormDefault and
attributeFormDefault, on the schema element, or can be specified separately
for each local declaration using the form attribute. All such attributes'
values may each be set to unqualified or qualified, to indicate whether or
not locally declared elements and attributes must be unqualified. ". From
this and the other examples they give, elementFormDefault="unqualified"
means that an instance document (basically a soap message) must not qualify
elements within a complex type.

So it seems that this is a bug in Axis C++. There are other schema
attributes which we probably don't support properly such as form, fixed,
ref, use and attributeFormDefault.

What do other people think? Have I interpreted the specs correctly? Do
other people use elementFormDefault? If I fix it, will it break the server?

Mark Whitlock

View raw message