[RESOLU] recuperer valeur webservice SOAP

itachi1508
Invité n'ayant pas de compte PHPfrance

18 nov. 2009, 11:32

Bonjour à tous,

Je me connecte à web service avec SOAP (je n'ai pas la main sur le code derrière) et je récupére des résultats.
Voici le code :
try {
      $sWSDL = "http://adresse_du_serveur/ws?wsdl";
      $oClient = new SoapClient( $sWSDL, array('trace' => 1) );
      $aParams = array(
		 // parametres obligatoires
                                  'numVersion' => '01',
		 'idDemandeur' => xxxx,	
		 'numContrat' => '2d66567f98d28738e1e0d796be8f85eb3b400224',
		 // criteres de recherches
                                 'numSiret' => 'xxxxxxxxxxxxxxxx',
		 'nomAgent' => 'm*',
		 // valeurs retournées
		 'listeAttribut' => array('idagent', 'nomagent', 'prenomagent', 'civilite', 'sigleent', 'nomentite', 'mail', 'tel', 'idsite', 'nomsite')
        );
        $reponse = $oClient->getAgent( $aParams );
       // Affichage *brut* de la réponse
       echo "<textarea cols=80 rows=25 readonly>";
	print_r( $reponse );
      echo "</textarea>";
} 
catch( SoapFault $exception ) {
      echo "<b>Une exception s'est produite :</b><br/>".$exception->faultstring;
}
Le print_r me renvoit les résultats sous cette forme :

Code : Tout sélectionner

stdClass Object ( [agent] => Array ( [0] => stdClass Object ( [civilite] => R [idagent] => xxxxxxxxxxxxxxxxxxxxxx [idsite] => xxxxxxxxxxxxxxxxxxxxxxxxxxxxx [mail] => xxxxxxxxxxxxxxxxxxxx [nomagent] => xxxxxxxxxxxxxx [nomentite] => xxxxxxxxxxxxxxxxx [nomsite] => xxxxxxxxxxxxxxx [prenomagent] => xxxxxxxxxxxxxxxxxx [sigleent] => xxxxxxxxxxxxxxx [tel] => xxxxxxxxxxxxxxxxx ) [1] => stdClass Object ( [civilite] => x [idagent] => xxxxxxxxxxxxxxxxxxxxx [idsite] => xxxxxxxxxxxxxxxxxxxx [mail] => xxxxxxxxxxxx [nomagent] => xxxxxxxxxxxxx [nomentite] => xxxxxxxxxxxxx [nomsite] => xxxxxxxxxxxxx [prenomagent] => xxxxxxxxxxxx [sigleent] => xxxxxxxxxxxxx [tel] => xxxxxxxxxxxxxxx ) ) )
Mon but est de récupérer chaque valeur dans des variables bien distinctes (ex : $mail, $nomagent) afin de les intégrer dans une base mysql.
J'ai essayé pas mal de choses déjà, mais ça ne fonctionne pas. Etant débutant dans la POO je dois sûrement me planter quelque part.

Merci pour l'aide que vous pourrez m'apporter.
Cordialement,

Eléphanteau du PHP | 27 Messages

18 nov. 2009, 23:44

extract() ?

http://fr.php.net/manual/fr/function.extract.php

au bluff et sans vérif, j'imagine un truc comme ça :
$i=0;
foreach($response->agent as $thisarray) {
  extract($thisarray,EXTR_PREFIX_ALL ,'v'.$i.'_');
  $i++;
}
// test
echo $v0_civilite;
echo $v1_civilite;

rom2
Invité n'ayant pas de compte PHPfrance

22 déc. 2009, 12:23

Salut tout le monde,

j'ai un exposé à faire sur les web-services en php avec soap à faire pour la rentré, eh je comprends vraiment rien ... :(
Quelqu'un connais un tuto bien expilqué ? avec des shémas si possible ... :D

merci !

Joarno
Invité n'ayant pas de compte PHPfrance

23 déc. 2009, 15:25

Si tu veux des explications et des shémas :

http://www.waanser.com/web-20/2346-web- ... c-php.html

en plus t'as un exemple de web-servcie que tu peux reprendre

rom2
Invité n'ayant pas de compte PHPfrance

28 déc. 2009, 15:33

Si tu veux des explications et des shémas :

http://www.waanser.com/web-20/2346-web- ... c-php.html

en plus t'as un exemple de web-servcie que tu peux reprendre
Merci c'est éxactement ce que je recherchait :)