Page 1 sur 1

recuperer valeur webservice SOAP

Posté : 18 nov. 2009, 11:32
par itachi1508
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,

Re: recuperer valeur webservice SOAP

Posté : 18 nov. 2009, 23:44
par Kran
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;

Re: recuperer valeur webservice SOAP

Posté : 22 déc. 2009, 12:23
par rom2
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 !

Re: recuperer valeur webservice SOAP

Posté : 23 déc. 2009, 15:25
par Joarno
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

Re: recuperer valeur webservice SOAP

Posté : 28 déc. 2009, 15:33
par rom2
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 :)