[SOAP et PHP] Pourquoi soapUI retourne un msg XML structuré et pas PHP ?
Bonjour à toutes et tous,
J'essaye de monter une boutique en ligne et pour cela, notre fournisseur met à disposition sur son site des requêtes WSDL. Etant totalement novice en la matière, j'ai utilisé soapUI pour tester le fonctionnement des requêtes ; ca marche bien avec un retour XML structuré des fiches produits par exemple. Les champs sont bien identifiés entre référence, désignation, description...
Capture d'écran soapUI
J'essaye de porter le code en PHP pour remplir rapidement la table Produit de la future boutique. La connexion et l'interrogation se passent bien. Là, où ça coince c'est le retour de la requête. J'obtiens un objet PHP contenant uniquement une chaine de caractère [any] avec toutes les infos les unes à la suite des autres sans séparateur et sans structuration.
Voilà le code PHP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
define('VELLEMAN_WSDL_URI','https://portal.velleman.eu/ServicePortal/' .'WebServices/ProductServices.asmx?WSDL');
$client = new SoapClient(VELLEMAN_WSDL_URI,array('encoding'=>'UTF-8'));
$auth["Username"] = 'unLogin'; // Enter your own login
$auth["Password"] = 'unMotDePasse'; // information here..
$header = new SoapHeader('https://portal.velleman.eu/','AuthenticationHeader', $auth);
try {
$response = $client->__soapCall('GetProductInfo', array(array('productName' => 'ZLLPROM2D', 'isoLang' => 'fr')), null, $header) ;
echo "<pre>" ;
print_r($response) ;
echo "</pre>";
}
catch (SOAPFault $fault)
{
echo $fault ;
echo "Response : " . htmlspecialchars($client->__getLastResponse()) ;
}
?> |
et le résultat de l'exécution du code PHP...
Code:
1 2 3 4 5 6 7 8
| stdClass Object
(
[GetProductInfoResult] => stdClass Object
(
[any] => 23.10.10ZLLPROM2DPRÃSENTOIR AVEC 12 x LAMPE-TORCHEfalsefalse48Display box54103294262311001falsetrue39,1523nombre de lampes-torches: 12par lampe-torche: 9 LED blanches lumineusesboîtier aluminium résistantpar lampe-torche: luminosité par LED: 11.000 ~ 13.000 mcddurée de vie des LED: 100 000halimentation: 3 piles 1.5V type R03 (LR03C), non incl.)dimensions: Ã34x 112mmpoids: 69gpoids total: ±900g23/zllprom2d.jpg23/zllprom2d_detail.jpgicons/led.gifLed producticons/col_black.gifcouleur : noiricons/bat_3aaa.gif3 AAA Batteries
)
) |
Je ne comprends pas pourquoi, je ne retrouve pas une structure similaire à la réponse reçue dans soapUI. Que faut-il ajouter au code PHP pour pouvoir récupérer la même structure que celle présentée par soapUI ?
Merci d'avance pour vos conseils !