Pblm génération arrayOf SOAP
Bonjour,
Je n'arrive pas à generer avec Axis la requete soap souhaitée, voici les détails
Ci dessous la requête SOAP générée
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:WS_B soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://monsite.com/site/cle2003/EntrepotOpFacture/services/accueil">
<UniversClient xsi:type="xsd:string">OH</UniversClient>
<ListeSites soapenc:arrayType="ns2:TSite[11257]" xsi:type="soapenc:Array" xmlns:ns2="http://monsite.com/site/cle2003/EntrepotOpFacture/services/types/accueil" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<ListeSites xsi:type="ns2:TSite">
<idCompte xsi:type="xsd:string">1-32QV-1219</idCompte>
</ListeSites>
<ListeSites xsi:type="ns2:TSite">
<idCompte xsi:type="xsd:string">1-32QV-427</idCompte>
</ListeSites>
Ci dessous la requete SOAP que je veux
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:WS_B soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://monsite.com/site/cle2003/EntrepotOpFacture/services/accueil">
<UniversClient xsi:type="xsd:string">OH</UniversClient>
<ListeSites soapenc:arrayType="ns2:TSite[11257]" xsi:type="ns2:ArrayOfTSite"
xmlns:ns2="http://monsite.com/site/cle2003/EntrepotOpFacture/services/types/accueil" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<ListeSites xsi:type="ns2:TSite">
<idCompte xsi:type="xsd:string">1-32QV-1219</idCompte>
</ListeSites>
<ListeSites xsi:type="ns2:TSite">
<idCompte xsi:type="xsd:string">1-32QV-427</idCompte>
</ListeSites>
Ci dessous, le contenu du WSDL et de la XSD
L'élément ListeSites est de type ArrayOfTSite dans le WSDL.
Dans la XSD, l'objet ArraytOfTSite est défini comme suit
<xsd:complexType name="ArrayOfTSite">
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0" name="ListeSites" type="TSite" />
</xsd:sequence>
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="TSite[]" />
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
Ci dessous les librairies utilisées pour générer la requete SOAP
j'utilise Axis 1.4 et WSDLtoJAVA pour générer des requetes SOAP à partir d'un WSDL (et du XSD référencé par le WSDL)