IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

[SOAP] Réponse sans balise XML ?


Sujet :

XML/XSL et SOAP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut [SOAP] Réponse sans balise XML ?
    Bonjour à tous,

    Un client me demande de lister ses biens immobiliers stockés chez un prestataire. Ce dernier fournit un WebService pour y accéder.
    J'utilise les fonctions SOAP de PHP5 et je ne comprends pas pourquoi la réponse fournie ne contient pas de balises XML.

    Voici le code utilisé
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $client = new soapclient('http://www.xxx.com/web_service/WebService.asmx?wsdl', array('encoding' => 'UTF-8'));
    $result = $client->XMLlisteBien(array('idAgence' => "yyy", 'typeExport' => 'zzz')); 
    print_r($result);

    La résultat donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stdClass Object ( [XMLlisteBienResult] => stdClass Object ( [any] => 23170APPA LS 11817/06/2014APPARTEMENTAppa
    Auriez-vous une idée pour obtenir une réponse avec balise XML ?
    Je vous remercie de votre aide.

    Camillo

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Si vous regardez de plus près la réponse, les données xml sont cachées sous un objet stdClass dedans la $result... Enfin, bref, vous pouvez obtenir un DOMDocument, ou d'autres comme SimpleXML, si vous voulez, comme ça.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //etc etc...
     
    $dom=new DOMDocument();
    $dom->loadXML($result->XMLlisteBienResult->any);
     
    //je vous montre à titre d'exemple comment trouver tous les IDENTIFIANT's
    $nodelist=$dom->getElementsByTagName('IDENTIFIANT');
     
    echo "IDENTIFIANT's trouvés :", PHP_EOL;
    foreach ($nodelist as $node) {
        echo $node->nodeValue, PHP_EOL;
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour votre réponse. C'est parfait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exploitation de données XML sans balises
    Par jjl69 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 02/07/2013, 18h32
  2. [Apache CXF] message xml soap réponse sans CDATA
    Par thierry_b dans le forum Services Web
    Réponses: 0
    Dernier message: 08/10/2009, 12h28
  3. Créer une balise xml sans namespace
    Par Gregory.M dans le forum Windows Forms
    Réponses: 0
    Dernier message: 17/03/2009, 12h59
  4. server.xml sans balise Context
    Par totoche dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 28/11/2008, 20h00
  5. [Balise XML] Comment récupérer le contenu entre 2 balise?
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/03/2004, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo