axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nadir amra (JIRA)" <>
Subject [jira] Commented: (AXISCPP-1026) Seversal issues in generating soap from complex arrays
Date Fri, 09 Mar 2007 07:01:24 GMT


nadir amra commented on AXISCPP-1026:

And from

The following example is a schema fragment and an array containing integer array members.

<element name="myFavoriteNumbers"  type="SOAP-ENC:Array"/>

<myFavoriteNumbers  SOAP-ENC:arrayType="xsd:int[2]">

In that example, the array "myFavoriteNumbers" contains several members each of which is a
value of type SOAP-ENC:int. This can be determined by inspection of the SOAP-ENC:arrayType
attribute. Note that the SOAP-ENC:Array type allows unqualified element names without restriction.
These convey no type information, so when used they must either have an xsi:type attribute
or the containing element must have a SOAP-ENC:arrayType attribute. Naturally, types derived
from SOAP-ENC:Array may declare local elements, with type information.

As previously noted, the SOAP-ENC schema contains declarations of elements with names corresponding
to each simple type in the "XML Schema Part 2: Datatypes" Specification [11]. It also contains
a declaration for "Array". Using these, we might write

<SOAP-ENC:Array SOAP-ENC:arrayType="xsd:int[2]">

Arrays can contain instances of any subtype of the specified arrayType. That is, the members
may be of any type that is substitutable for the type specified in the arrayType attribute,
according to whatever substitutability rules are expressed in the schema. So, for example,
an array of integers can contain any type derived from integer (for example "int" or any user-defined
derivation of integer). Similarly, an array of "address" might contain a restricted or extended
type such as "internationalAddress". Because the supplied SOAP-ENC:Array type admits members
of any type, arbitrary mixtures of types can be contained unless specifically limited by use
of the arrayType attribute.

So I am not sure that it is needed. 

> Seversal issues in generating soap from complex arrays
> ------------------------------------------------------
>                 Key: AXISCPP-1026
>                 URL:
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: SOAP
>    Affects Versions:  1.6 Beta
>         Environment: Windows VC++ and Axis 1.4 (Java) server
>            Reporter: Wayne Johnson
>            Priority: Critical
>             Fix For: current (nightly)
>         Attachments: AxisCPP-1026.patch, SWS.wsdl
> (this is a weeks worth of changes from memory, so I might have missed something).
> 1) does not generate xsi:nil when needed.
> 2) Missing enc:arrayType=
> 3) Generates xmlns:nsX="".  This causes Xerces to barf with org.xml.sax.SAXParseException:
The value of the attribute "prefix="xm
> lns",localpart="ns3",rawname="xmlns:ns3"" is invalid. Prefixed namespace binding s may
not be empty.
> 4) Generated complex object serializer uses URI of NULL, causes crash in ArrayBean.cpp

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message