WSDL liste de complexType HOWTO - définir, le retour d'un service?

Comment définissez-vous une liste de type complexe éléments WSDL?

J'ai une assez simple WSDL avec 2 types complexes

<xsd:complexType name="itemProperty">
    <xsd:all>
        <xsd:element name="name" type="xsd:string" />
                <xsd:element name="value" type="xsd:string" />
                <xsd:element name="type" type="xsd:string" />
    </xsd:all>
</xsd:complexType>

Alors que je suis en train de faire une liste de ce complexType comme ceci:

<xsd:complexType name="itemPropertyList">
    <xsd:complexContent>
        <xsd:restriction base="SOAP-ENC:Array">
            <xsd:sequence>
                <xsd:element name="item" type="tns:itemProperty"
                    maxOccurs="unbounded" minOccurs="0" />
            </xsd:sequence>
        </xsd:restriction>
    </xsd:complexContent>
</xsd:complexType>

J'ai l'intention d'utiliser cette liste

<message name="getListRequest"></message>
<message name="getListResponse">
    <part name="return" type="tns:itemPropertyList" />
</message>
<operation name="getList">
    <documentation>Returns an array.</documentation>
    <input message="tns:getListRequest" />
    <output message="tns:getListResponse" />
</operation>

Au lieu d'une liste d'éléments de type itemProperty, je reçois cette réponse, peu importe ce que les variations que j'ai essayé (y compris le remplacement de l'élément de base, avec la chaîne explicite éléments)

<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <SOAP-ENV:Body>
    <ns1:getListResponse>
    <return SOAP-ENC:arrayType="ns2:Map[1]" xsi:type="SOAP-ENC:Array">
    <item xsi:type="ns2:Map">
    <item>
        <key xsi:type="xsd:string">name</key>
        <value xsi:type="xsd:string">name_4c3b38b0b77ae</value>
    </item>
    <item>
        <key xsi:type="xsd:string">value</key>
        <value xsi:type="xsd:string">name_4c3b38b0b77ee</value>
    </item>
    <item>
        <key xsi:type="xsd:string">type</key>
        <value xsi:type="xsd:string">name_4c3b38b0b782b</value>
    </item>
    </item>
    </return>
    </ns1:getListResponse>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Des idées? Qu'est-ce que ce ns2:Carte de la chose? Il a été me hante depuis plus d'une semaine!

OriginalL'auteur cdanea | 2010-07-12