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 :

[DOM] Echange de flux XML entre deux serveurs web


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 82
    Points
    82
    Par défaut [DOM] Echange de flux XML entre deux serveurs web
    Bonjour,

    Je suis confronté a une difficulter et je n'arrive pas a trouver de piste.
    Je souhaite envoyer une requete XML vers un serveur et ce dernier me retourne la réponse sous forme d'un "flux" . Je souhaiterais faire cela en PHP mais tout les tuto que je trouve son pour lire un fichier et non envoyer ou recevoir un flux.

    Pas possible en PHP ?

    Merci d'avance.
    Luke, j'ai bien connu ta mère!

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 82
    Points
    82
    Par défaut
    Bon je cherche des pistes sans obligatoirement trouvé.

    Je suis partie sur php_curl et voici mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_POST, $data);
    $fnCallback = curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
    curl_exec($ch);
    $info = curl_getinfo($ch);
     
     
     
    curl_close($ch);
    echo $fnCallback;
    Je n'ai pas d'erreur et $fnCallback repond "1" alors que ce que je souhaite c'est la réponse en XML du serveur ($url) sur lequel j'ai posté ma requete XML ($data).

    Any idea?

    Merci A++
    Luke, j'ai bien connu ta mère!

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    C'est curl_exec qui retourne normalement ce que vous attendez :
    Citation Envoyé par documentation
    Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient. Cependant, si l'option CURLOPT_RETURNTRANSFER est définie, la fonction retournera le résultat en cas de succès, et FALSE si une erreur survient.
    Mais PHP permet d'interroger directement un serveur HTTP via la fonctionnalité allow_url_fopen (si celle-ci est active) : cf cette discussion par exemple.

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Points : 82
    Points
    82
    Par défaut
    Bonjour Julp et merci pour votre réponse.

    Entre temps j'ai trouvé mon erreur. Je me connectai a un serveur et je ne controlai pas le résultat (en plus de ne pas récuperer ma réponse au bon endroit.
    Avec le code ci dessous, j'envoi bien ma requete et récupere bien ma réponse.
    Que du bonheur (ou presque, me faut aprser la réponse maintenant :p)

    Bref, merci pour votre réponse et "résolu".

    A+

    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
     
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);
     
     
    $fnCallback =  curl_exec($ch);
     
    if (!$fnCallback) {
        echo curl_error($ch);
    } else {
         $fnCallback;
    }
    Luke, j'ai bien connu ta mère!

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

Discussions similaires

  1. Réplication entre deux serveurs web
    Par marcandre dans le forum Réseau
    Réponses: 6
    Dernier message: 16/10/2017, 20h00
  2. communication automatique entre deux serveurs web
    Par nannouse86 dans le forum Langage
    Réponses: 2
    Dernier message: 26/02/2013, 19h01
  3. Synchronisation de compte client entre deux serveurs web
    Par samuelor dans le forum Langages serveur
    Réponses: 2
    Dernier message: 19/07/2011, 10h36
  4. Réponses: 3
    Dernier message: 02/06/2008, 16h13
  5. [AJAX] Transmettre un fichier XML entre deux serveurs via un client
    Par quentin_ler dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 21/08/2007, 10h03

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