Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [reslolu] Envoie de donnée xml à un serveur web

Envoyé par : aMan

Date : 23/01/2007 09:15

Bonjour tous le mode,

En premier lieu merci à tous et à toutes pour la qualité du site ainsi que du forum.

Je voudrais envoyer un fichier xml généré depuis mon application xulrunner vers un serveur web. Et le serveur web devra renvoyer une réponse (format xml aussi). Le problème c'est que j'ai beau avoir vu par ci par la des informations sur soap et xmlrpc et bien je ne sais pas que choisir.

Avez vous des exemples d'implémentations de soap et xmlrpc ?

Merci d'avance pour votre aide, car pour le moment le développement de mon application est bloquer à cause de l'envoie de donnée.

# Re: Envoie de donnée xml à un serveur web

Envoyé par : laurentj

Date : 24/01/2007 11:32

tu peux aussi utiliser xmlhttprequest tout simplement...

# Re: Envoie de donnée xml à un serveur web

Envoyé par : aMan

Date : 24/01/2007 15:49

Salut laurent. Merci de t'intéresser à mon petit problème.

Je me suis un petit peu plus penché sur le cas du xmlhttprequest. Jusqu'à présent je l'utilise pour récupérer des données mais pas pour en envoyer. J'ai vu sur le wiki que l'on pouvait envoyer un élément dom via la fonction send de xmlhttprequest. Et malgres des recherches avec mon ami google (il est faché avec moi ?) je ne trouve aucun exemple utilisant l'envoie d'un élément dom.

Est ce la bonne solution, ou suis je tout simplement un pied et que tout le monde arrive ? (plusieurs réponse possible ;) )

Merci

Ps : je tiens absolument à envoyer un document xml, car sinon ca serait trop compliqué à gérer coté serveur après...

Edit :

Re, depuis tout à l'heure je travail sur le sujet, et voilà ou j'en suis...

Je n'arrive toujours pas à evoyer un élément dom, cependant j'arrive à passer en paramètre "foo" du xml serializé. Voici un exemple de code

mydata = document.createElement('foo'); var serializer = new XMLSerializer(); data = serializer.serializeToString(mydata);

p = new XMLHttpRequest(); p.onload = null; p.open("POST", SERVER_URL, false); p.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); p.send('foo='+data);

mais fait comme ça c'est envoyer en "paramètre" et non pas en dom....

Merci d'avance

# Re: Envoie de donnée xml à un serveur web

Envoyé par : rande

Date : 24/01/2007 22:26

Hello,

Par experience tu ne peux pas envoyer l'object DOM via l'objet XMLHttpRequest.

La solution que tu propose est correct, tu envoie une chaine de charactere qui correspond a ton XML. Du cote serveur tu fais l'inverse.

Exemple en PHP:

$dom = new domDocument;
$dom->loadXML($_POST['foo']);

Quoi qu'il arrive au final tu envoies une requete HTTP au serveur, soit en GET soit en POST. Ce n'est pas possible d'envoyer autre chose, protocol http!

# Re: Envoie de donnée xml à un serveur web

Envoyé par : laurentj

Date : 08/02/2007 16:14

ou alors

p.setRequestHeader("Content-type", "text/xml");
p.send(data);

et de l'autre coté, en PHP par exemple

$dom = new domDocument;
$dom->loadXML($HTTP_RAW_POST_DATA);

Quoi qu'il en soit, tu es obligé de serializer le xml que tu veux envoyer.

# Re: Envoie de donnée xml à un serveur web

Envoyé par : aMan

Date : 12/02/2007 23:31

Merci Rande et merci Laurent. Je dois avouer que la solution que me propose laurent me semble être la plus "propre". Donc à partir de maintenant je ferais ainsi. Merci en tout cas

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.