Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML
XML Forum d'entraide sur XML avec PHP. Exemples : SimpleXML, OpenXML... Avant de poster -> FAQ XML, Cours XML et Sources XML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/10/2006, 10h38   #1
Invité de passage
 
Développeur informatique
Inscription : 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 : 0
Points : 0
Envoyer un message via MSN à sharivaree
Par défaut 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 :
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
$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
sharivaree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 12h01   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 16h30   #3
Invité de passage
 
Développeur informatique
Inscription : 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 : 0
Points : 0
Envoyer un message via MSN à sharivaree
je vois pas trop comment faire,
à part encoder directement :
$data = "%3C%3Fxml+version%3D%221.0%22+e...%0D%0A%0D%0A%3C...";
sharivaree est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 17h43   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Fonction urlencode() donnée par le lien ci-dessus :
Code :
1
2
 
$post_data = "nomTextarea=" . urlencode($requete_xml);
Est-ce mieux ainsi ?


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h14.


 
 
 
 
Partenaires

Hébergement Web