Bonjour,
J'effectue actuellement un stage où l'on me demande d'utiliser des web services apogée et je rencontre un soucie pour l'un d'entre eux. J'utilise soap_client pour faire appel à mon web service mon appel ressemble donc à ceci :
1 2
| $soapClient = new soapclient($wsdl, array("trace"=>true));
$resultat = $soapClient->__soapCall("recupererListeEtudiants",array($params)); |
Le soucis vient du $params. Le web service me demande de lui passer des paramètres avec la structure suivante :
1 2 3 4 5 6 7 8 9 10 11 12 13
| <element name="listDiplomes" nillable="true" type="intf:TableauDiplomes"/>
<complexType name="TableauDiplomes">
<sequence>
<element name="item" type="tns1:EtudiantCritereListeDTO" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<complexType name="EtudiantCritereListeDTO">
<sequence>
<element name="code" nillable="true" type="xsd:string"/>
<element name="listVersion" nillable="true" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType> |
J'ai compris la structure car via l'outil soapUI je parviens à passer ma requête en xml. Mon soucis est que je n'arrive pas à la "traduire" en php.
Voici mon tableau de paramètres actuel :
1 2 3 4 5 6 7 8 9
| $params = array("_parametres" =>array(
"listDiplomes" =>array(
"item"=>array(
"code" => $codDip,
"listVersion" => array(
"item"=>array($codVdi)
)
)
) |
J'ai tenté de parser la requête xml de soapUI directement, le tableau correspond à ceci pour moi mais le webservice me renvoie l'erreur suivante :
SoapFault exception: [soapenv:Server.userException] org.xml.sax.SAXException: Found character data inside an array element while deserializing"
Je suis sur ce soucis depuis 2jours et je vois vraiment pas où est mon erreur
.
Partager