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

Bibliothèques et frameworks PHP Discussion :

[Web Service] Parser une réponse SOAP ARRAY


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut [Web Service] Parser une réponse SOAP ARRAY
    Bonjour ;
    j'envoi une requete SOAP et j'obitent le résultat sous forme ARRAY j'arrive a voir le résultat via la fonction __getLastResponse le problème c'est que j'arrive pas a faire la boucle pour afficher tous les attributs rendu par le résultat
    voici la réponse que j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body><GetCadeauxByCategorieResponse xmlns="http://tempuri.org/"><GetCadeauxByCategorieResult>
    <eFideliteCadeau>
    <CodeCadeau>1031001</CodeCadeau>
    <Libelle>BA de 200 dhs</Libelle>
    <PointsRequis>280</PointsRequis>
    </eFideliteCadeau><eFideliteCadeau>
    <CodeCadeau>1031002</CodeCadeau>
    <Libelle>BA de 400 dhs</Libelle>
    <PointsRequis>560</PointsRequis>
    </eFideliteCadeau><eFideliteCadeau>
    <CodeCadeau>1031003</CodeCadeau>
    <Libelle>BA de 200 Dhs pour un achat de 700 Dhs</Libelle>
    <PointsRequis>140</PointsRequis>
    </eFideliteCadeau>
    </GetCadeauxByCategorieResult>
    </GetCadeauxByCategorieResponse>
    </soap:Body>
    </soap:Envelope>
    maintenant je veux afficher les attribut je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($reponse->eFideliteCadeau as $Cadeau) { 
    echo ($Cadeau->Libelle);
    }
    ca ne m'affiche rien du tout et quand je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    count($reponse->eFideliteCadeau)
    j'ai le bon chiffre ca m'affiche 3

    merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    et que donne un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>";
    print_r($reponse->eFideliteCadeau);
    echo "</pre>";
    ?

    Karl3i.

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Ca donne ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Array
    (
        [0] => stdClass Object
            (
                [CodeCadeau] => 1031001
                [Libelle] => BA de 200 dhs
                [PointsRequis] => 280
            )
     
        [1] => stdClass Object
            (
                [CodeCadeau] => 1031002
                [Libelle] => BA de 400 dhs
                [PointsRequis] => 560
            )
     
        [2] => stdClass Object
            (
                [CodeCadeau] => 1031003
                [Libelle] => BA de 200 Dhs pour un achat de 700 Dhs
                [PointsRequis] => 140
            )
     
    )

    Citation Envoyé par karl3i Voir le message
    Bonjour,

    et que donne un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>";
    print_r($reponse->eFideliteCadeau);
    echo "</pre>";
    ?

    Karl3i.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Ok, donc c'est un tableau d'objet stdClass.

    Pour lire un élément, c'est quelque chose de ce type qu'il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse->eFideliteCadeau[0]->CodeCadeau
    $reponse->eFideliteCadeau est un tableau.
    $reponse->eFideliteCadeau[0] est un objet stdClass.
    $reponse->eFideliteCadeau[0]->CodeCadeau est le code cadeau.

    C'est plus clair ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Effectivement ça marche comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $total= count($reponse->eFideliteCadeau);
       for($i=0;$i <$total;$i++) 
         {
    	  echo ($reponse->eFideliteCadeau[$i]->Libelle);
     
    	      }
    Merci Chef

    Citation Envoyé par karl3i Voir le message
    Ok, donc c'est un tableau d'objet stdClass.

    Pour lire un élément, c'est quelque chose de ce type qu'il faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse->eFideliteCadeau[0]->CodeCadeau
    $reponse->eFideliteCadeau est un tableau.
    $reponse->eFideliteCadeau[0] est un objet stdClass.
    $reponse->eFideliteCadeau[0]->CodeCadeau est le code cadeau.

    C'est plus clair ?

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

Discussions similaires

  1. Parser une réponse SOAP complexe
    Par ibrahimCA dans le forum Android
    Réponses: 0
    Dernier message: 13/08/2013, 15h41
  2. Web Service - lecture de réponse SOAP "élégante"
    Par Leelith dans le forum Services Web
    Réponses: 2
    Dernier message: 23/06/2013, 22h01
  3. Parser une réponse SOAP
    Par RAMIREZ13 dans le forum Android
    Réponses: 2
    Dernier message: 21/07/2011, 18h19
  4. [ORBEON]Parser une réponse SOAP
    Par DonKnacki dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 03/05/2010, 09h24
  5. [Web Service][SOAP] Lire une réponse SOAP
    Par jmalfoy dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 01/03/2010, 14h21

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