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 :

[XML] Envoi de données XML en méthode POST


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [XML] Envoi de données XML en méthode POST
    Bonjour,

    Pour récupérer un fichier, je dois poster du XML (la requête) à une adresse (correspondant à un web service),
    Je ne sais pas si je peux utiliser CURL ou si je dois utiliser SOAP...
    J'ai fais quelques essais avec la librairie CURL mais je recois une erreur 405 (verb)...

    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
    26
    27
    $requete_xml = " <?xml version=\"1.0\" encoding=\"UTF-8\" ?>
    <xmlrequest>
    </xmlrequest>";
     
    $post_data = "nomTextarea=".$requete_xml;
     
    $url = "http://www.url_du_webservice";
     
    //-----o initialize curl handle
    $ch = curl_init(); 
     
    //-----o L'URL à récupérer
    curl_setopt($ch, CURLOPT_URL,$url);
     
    curl_setopt($ch, CURLOPT_POST, 1 );
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST');
     
    //-----o Le fichier où sera écrit le transfert. 
    $fp = fopen("fichier_recepteur.xml", "w");
    curl_setopt($ch, CURLOPT_FILE, $fp);
     
    //-----o requête à passer en params
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
     
    curl_exec($ch);
    curl_close($ch);
    fclose($fp);
    Merci d'avance pour vos brillants conseils

  2. #2
    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
    Les données envoyées par la méthode POST (comme GET) doivent être encodées : voir ce sujet. Ce qui explique cette erreur.


    Julp.

  3. #3
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    je vois pas trop comment faire,
    à part encoder directement :
    $data = "%3C%3Fxml+version%3D%221.0%22+e...%0D%0A%0D%0A%3C...";

  4. #4
    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
    Fonction urlencode() donnée par le lien ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $post_data = "nomTextarea=" . urlencode($requete_xml);
    Est-ce mieux ainsi ?


    Julp.

Discussions similaires

  1. Non transmission de données avec la méthode POST
    Par laurentSc dans le forum Langage
    Réponses: 9
    Dernier message: 02/11/2016, 17h57
  2. [AJAX] Envoi des données du formulaire par POST
    Par Knight.Solidary dans le forum AJAX
    Réponses: 5
    Dernier message: 06/08/2012, 06h50
  3. Envoi de données via la méthode POST
    Par mrsoyer dans le forum Langage
    Réponses: 6
    Dernier message: 19/06/2008, 11h56
  4. Réponses: 3
    Dernier message: 04/07/2007, 21h00
  5. Réception et diffusion xml via méthode Post
    Par hegros dans le forum Modules
    Réponses: 2
    Dernier message: 31/07/2006, 21h42

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