SoapCall renvoi d'erreur

zeGargamel Messages postés 1 Statut Membre -  
R4f Messages postés 441 Statut Membre -
Bonjour à tous,

Débutant en webservices, j'essaie d'en contacter un auquel j'envoie deux paramètres et qui me renvoie (normalement) un string. Le problème est qu'il m'affiche "Object of class SoapClient could not be converted to string in...". J'ai vu sur forum une fonction destinée à ce genre de cas pour changer cette objet en array, mais elle se contente de m'afficher "array"...

Mon code :

try {
// Nouvelle instance de la classe soapClient
$client = new SoapClient('http://Garg-O-Tron:8888/orabpel/default/BPELProcessMarks3/1.2/BPELProcessMarks3?wsdl');
// appel de la méthode getServerDate du service web
$mess1 = "Truc";
$mess2 = "Bidule";
$client->__call("process", array($mess1, $mess2));

$client = obj2array($client);

// Affichage du résultat
echo $client ;
} catch (SoapFault $fault) {
print ($fault->out);
}

La fonction qui ne semble pas marcher :

function obj2array($obj) {
$out = array();
echo "oui il rentre dedans ";
foreach ($obj as $key => $val) {
switch(true) {
case is_object($val):
{
echo "it's an object!";
$out[$key] = obj2array($val);
break;
}
case is_array($val):
{echo "it's an array!";
$out[$key] = obj2array($val);
break;}
default:
{
echo "default";
$out[$key] = $val;}
}
}
return $out;
}

Merci d'avance de votre aide!

1 réponse

R4f Messages postés 441 Statut Membre 62
 
Si $client est un tableau, alors tu peux :
- soit afficher son contenu :
echo "<pre>";
print_r( $client );
echo "</pre>";


- soit le parcourir :
foreach ($client as $element) {
 echo $element, "<br/>";
}


Tu es débutant en webservices seulement ou en PHP en général ?

Raph
0