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

XSL/XSLT/XPATH XML Discussion :

xpath ne fournit aucun résultat?


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Points : 80
    Points
    80
    Par défaut xpath ne fournit aucun résultat?
    Bonjour,

    J'ai essaye de faire fonctionner le code php suivant.
    C'est un exemple dont je me suis inspiré de la page suivante
    http://stackoverflow.com/questions/4...parse-soap-xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    	$your_xml_response = file_get_contents('./test.xml');
    	$clean_xml = str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $your_xml_response);
    	$xml = simplexml_load_string($clean_xml);
    	//print_r($xml);
     
    	$xml->registerXPathNamespace('soap', 'http://schemas.xmlsoap.org/soap/envelope/');
    	foreach ($xml->xpath('//payment') as $item)
    	{
    		print_r($item);
    	}
    ?>
    et voici le contenue du fichier test.xml
    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:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <PaymentNotification xmlns="http://apilistener.envoyservices.com">
          <payment>
            <uniqueReference>ESDEUR11039872</uniqueReference>      
            <epacsReference>74348dc0-cbf0-df11-b725-001ec9e61285</epacsReference>
            <postingDate>2010-11-15T15:19:45</postingDate>
            <bankCurrency>EUR</bankCurrency>
            <bankAmount>1.00</bankAmount>
            <appliedCurrency>EUR</appliedCurrency>
            <appliedAmount>1.00</appliedAmount>
            <countryCode>ES</countryCode>
            <bankInformation>Sean Wood</bankInformation>
      <merchantReference>ESDEUR11039872</merchantReference>
       </payment>
        </PaymentNotification>
      </soap:Body>
    </soap:Envelope>
    en appelant le script php je ne reçoit aucune réponse c'est à dire une page vide qui s'affiche.

    Pour information :
    Quand j'active la ligne de code suivante (qui est actuellement désactivé dans le code que j'ai publié plus haut sur cette page)
    je reçoit cette réponse (affichage code source de la page web):
    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
    25
    SimpleXMLElement Object
    (
        [Body] => SimpleXMLElement Object
            (
                [PaymentNotification] => SimpleXMLElement Object
                    (
                        [payment] => SimpleXMLElement Object
                            (
                                [uniqueReference] => ESDEUR11039872
                                [epacsReference] => 74348dc0-cbf0-df11-b725-001ec9e61285
                                [postingDate] => 2010-11-15T15:19:45
                                [bankCurrency] => EUR
                                [bankAmount] => 1.00
                                [appliedCurrency] => EUR
                                [appliedAmount] => 1.00
                                [countryCode] => ES
                                [bankInformation] => Sean Wood
                                [merchantReference] => ESDEUR11039872
                            )
     
                    )
     
            )
     
    )
    Ma question:
    Pourquoi la boucle xpath ne fournit t-elle aucun résultat?

    Merci d'avance pour votre aide.

    Ps.: j'utilise la version php suivante : PHP 5.6.30-0+deb8u1 (cli) (built: Feb 8 2017 08:50:21)

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Et ça fait quoi si tu te bases sur la suggestion qui y avait été donnée ici : http://stackoverflow.com/a/4194630 ?

    Note : effacer les namespaces avec str_ireplace(['SOAP-ENV:', 'SOAP:'], '', $your_xml_response) est parfaitement débile.

    Tu fais quoi si ta réponse contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bankInformation>Invest in soap: good and cheap</bankInformation>
    tu modifies les infos bancaires juste parce que tu avais la flemme de gérer ? Le type qui a suggéré ça est une tanche.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 157
    Points : 80
    Points
    80
    Par défaut Merci pour votre aide
    Bonjour thelvin,

    J'ai pu résoudre mon problème grâce à votre aide.

    J'avais mal renseigne l'url "namespace" > > registerXPathNamespace.

    Dans la réponse soap (en provenance du serveur soap) j'ai pu enfin récupérer la bonne adresse, qu'il me manquait, pour que je puisse récupérer les informations donc j'ai besoin.

    Encore un grand MERCI pour votre aide.

    Ps.: je débute avec SOAP ...

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

Discussions similaires

  1. [DEBUTANT]radio_button fournit aucun résultat
    Par Blaede dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 26/05/2008, 09h36
  2. [MySQL] Savoir si la requête ne retourne aucun résultat
    Par mickado dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/04/2007, 09h37
  3. CreataTableDef: aucun résultat
    Par pifou25 dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2007, 15h49
  4. Réponses: 20
    Dernier message: 05/06/2006, 16h07
  5. PSQLException "Aucun résultat retourné par la requête&q
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/09/2005, 20h55

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