Bonjour à tous,

Je vous explique mon problème, j'essaye de créer un client SOAP pour interroger une méthode qui doit me renvoyer des valeurs. Le problème c'est que j'utilise "soapCall" pour appeler cette fameuse méthode "search", mais je pense que les paramètres que je fournis à la méthode sont mal implémentés (je dois envoyer un identifiant et un mot de passe + criètres de recherche). Pour être plus claire, voici un exemple de requête SOAP à renvoyer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<search xsi:type="Search">
    <credential xsi:type="Credential">
        <agentCode xsi:type="xsd:string">xxx</agentCode>
        <password xsi:type="xsd:string">yyy</password>
    </credential>
    <currency xsi:type="xsd:string">GBP</currency>
    <location xsi:type="xsd:string">London</location>
</search>
Côté PHP, voilà à quoi ressemble mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
$client = new SoapClient("...inventory.wsdl", array('soap_version' => SOAP_1_1));
$credentials = array("agentCode"=>"xxx", "password"=>"yyy");
$result=$client->__soapCall("Search", array($credentials, "currency"=>"GBP", "location"=>"London"));
Voilà l'erreur retournée :
SOAP-ERROR: Encoding: object hasn't 'credential' property in..
Je suppose fortement que ça plante au niveau de $credentials. Le problème est que je ne sais pas comment construire cette variable pour avoir une reqûete SOAP correcte. J'ai essayé avec SoapVar, SoapParam, fait de multiples recherches sur Google mais je n'ai trouvé aucun tutoriel, aucun site avec des explications claires et de A à Z (bon je suis peut-être un p'tit peu quiche aussi..). Voilà pourquoi je sollicite votre aide aujourd'hui.

Merci d'avance à ceux qui me répondront