<complexType>
<sequence>
<element name="ReturnWeb_AdminResellerListNewsCentre
minOccurs="0" maxOccurs="unbounded">
<complexType>
<complexContent>
<extension base="tns:ReturnWebBase">
<sequence>
<element name="news_id" type="int"/>
<element name="call_centre_id" type="int"/>
<element name="call_centre_name" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
</complexType>
</element>
<complexType>
<complexContent>
<extension base="tns:ReturnWebBase">
<sequence>
<element name="news_id" type="int"/>
<element name="call_centre_id" type="int"/>
<element name="call_centre_name" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
</complexType>
</element>
On 12/14/05, iksrazal <[EMAIL PROTECTED]> wrote:
Hi all,
I've used 'rpc encoded' arrays a lot but now I'm trying to migrate the concept
to doc / lit. Here's what I mean in 'rpc encoded' style :
<complexType name="ReturnWeb_AdminResellerListNewsCentres">
<complexContent>
<extension base="tns:ReturnWeb_Base">
<sequence>
<element name="list"
type="tns:ArrayOfReturnWeb_AdminResellerListNewsCentres_Item"/></sequence></extension></complexContent></complexType>
<complexType name="ArrayOfReturnWeb_AdminResellerListNewsCentres_Item">
<complexContent>
<restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType"
wsdl:arrayType="tns:ReturnWeb_AdminResellerListNewsCentres_Item[]"/></restriction></complexContent></complexType>
<complexType name="ReturnWeb_AdminResellerListNewsCentres_Item">
<sequence>
<element name="news_id" type="int"/>
<element name="call_centre_id" type="int"/>
<element name="call_centre_name"
type="string"/></sequence></complexType>
That allows me to do a conversion like so:
ReturnWeb_AdminResellerListNewsCentres result = new
ReturnWeb_AdminResellerListNewsCentres();
java.util.List list = new ArrayList();
// db result set - just an example
while (rs.next()) {
ReturnWeb_AdminResellerListNewsCentres_Item item =
new ReturnWeb_AdminResellerListNewsCentres_Item(
rs.getInt("news_id"),
rs.getInt("call_centre_id"),
rs.getString("call_centre_name")
);
list.add(item);
}
rs.close();
ReturnWeb_AdminResellerListNewsCentres_Item[] list_array = new
ReturnWeb_AdminResellerListNewsCentres_Item[0];
list_array = (ReturnWeb_AdminResellerListNewsCentres_Item[])
list.toArray(list_array);
result.setList(list_array);
Sorry for the long example.
Now I'm trying to do the same with doc / lit and I believe, minOccurs and
maxOccurs:
<!-- shown for completeness -->
<complexType name="ReturnWebBase">
<sequence>
<element name="errorMessage" type="xsd:string"/>
<element name="successErrorCode" type="xsd:int"/>
</sequence>
</complexType>
<element name="ReturnWeb_AdminResellerListNewsCentres" minOccurs="0"
maxOccurs="unbounded">
<complexType>
<complexContent>
<extension base="tns:ReturnWebBase">
<sequence>
<element name="news_id" type="int"/>
<element name="call_centre_id" type="int"/>
<element name="call_centre_name" type="string"/>
</sequence>
</extension>
</complexContent>
</complexType>
</element>
That of course doesn't work because 'Attribute not allowed: maxOccurs' on a
global element like 'ReturnWeb_AdminResellerListNewsCentres' .
Any hints? Googling isn't turning up much. Note that I'm not just trying to
put an array in a complexType, I want an _array_ of complexType .
iksrazal