<element name="ReturnWeb_AdminResellerListNewsCentres">
   <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>


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

Reply via email to