1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <?php
try{
$client = new SoapClient ("http://.../SessionServices.asmx?wsdl");//appel au webservice de login
$param = array('Login' => array('ch1'=>'val1', 'ch2'=>'val2', 'ch3'=>'val3'));//l'array dans l'array
$result = $client->__soapCall ('Login', $param);//recupération d'un id de session
$client2 = new SoapClient ("http://.../QueryServices.asmx?wsdl");//appel à un autre webservice pour requêter
$statement = "SELECT id FROM matable WHERE numero = 03015";//requête valide
foreach ($result as $element) {//on parcourt les éléments sachant qu'il n'y en a qu'un !
$param2 = array('sessionParams'=>$element, 'statement'=>$statement);//$element = l'id de session et statement = requête valide
print_r ($param2);
//si je fais un print_r de param2, j'ai bien
//Array ( [sessionParams] => ch1-ch2-86Dc45EF-1053-49b4-aa99 [statement] => SELECT id FROM matable WHERE numero = 03015 )
$result2 = $client2->__soapCall ('ExecuteSql', $param2);
print_r($result2);// renvoie stdClass Object ( [ExecuteSqlResult] => )
}
} catch (SoapFault $fault) {
echo 'erreur : '.$fault;
}
?> |