SoapCall renvoi d'erreur
zeGargamel
Messages postés
1
Statut
Membre
-
R4f Messages postés 441 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!
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!