[
Lists Home |
Date Index |
Thread Index
]
> What was intended was something functionally equivalent to this
> <xsd:complexType name="AuthorArray">
> <xsd:sequence>
> <xsd:element name="Author" type="xsd:string" minOccurs="0"
> maxOccurs="unbounded"/>
> </xsd:sequence>
> </xsd:complexContent>
> apparently using the soap encodings to get higher efficiency by having
> attributes that can be parsed to determined the number of items in the array
> and their type.
Recall that SOAP predates XML Schema.
> 3. For some reason, possibly to satisfy the caprices of some early soap
> tools, the services return results that look like this:
> <Authors SOAP-ENC:arrayType="xsd:string[2]"
> xsi:type="SOAP-ENC:Array">
> <Author xsi:type="xsd:string">Reiner Westermeier</Author>
> <Author xsi:type="xsd:string">Tom Naven</Author>
> </Authors>
> Xerces correctly rejects these also, since the declared type of Authors is
> derived from the xsi:type, which is backwards and illegal. (Notice that the
> soap-enc:arrayType is a typo -- should be "tns:Author[2]").
That looks like self-describe SOAP 1.1 array to me. Declaring the type
via xsi:type allows interpretation without a schema. And you're wrong
about the tns:Author[2].
Suggest you read the SOAP 1.1 spec, not the 1.2 specs.
/r$
|