Webservice en javascript

Signaler
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Messages postés
4
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
17 novembre 2008
-
Bonjour j'aimerais savoir si c'est possible de consommer un webservice via javascript ou a defaut vbscript ? merci

Cyril (Alias Jesusonline)

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour
consommer un webservice via javascript
ça veut dire quoi ? donner un exemple,
ou ce qu'il faut faire.
on peut sûrement utiliser des active'x
, si on accepte de n'autoriser que windows
et internet explorer , et adapter, parfois,
pour dautres systèmes/navigateurs.
Cordialement. Bul.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
j'ai peut etre été un peu imprécis je m'explique :)

J'ai trouvé sur le web un webservice qui me renvoie les villes en fonction du code postal, j'ai fait ca en asp.net ca marche tres bien mais le problème c'est qu'il faut recharger à chaque vois la page pour avoir les villes, et j'aimerais savoir si c'etait possible de me servir de ce webservice sans faire le reload de la page donc j'ai pensé à javascript, mais j'ai jamais entendu parler de ca sous javascript donc je voulais en avoir le coeur net. je ne voulais pas utiliser d'activex & co, mais juste du javascript sinon je reste en asp.net et garde le postback de la page.

Merci

Cyril (Alias Jesusonline)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour
en fait on appelle un programme sur un
serveur qui va chercher dans un fichier le
nom de la ville en fonction du code postal.
( c'est ça le webservice )
le fichier est sur le site appelé, sûrement
dans une base de données. impossible
à faire en javascript ( se déroule sur
machine client ) et sans se connecter.
par contre on peut trouver cette liste de
codes postaux, il suffit d'écrire ( ou de
récupérer ) un programme qui consulte
cette liste.
Cordialement. Bul.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
J'ai le service web: voici l'adresse : http://www.e-naxos.com/scripts/enwscp.dll/wsdl/IODCODESPOSTAUX en asp.net j'arrive tres facilement à faire ce que je veux mais j'effectue un rechargement de la page, et j'aimerais eviter ce rechargement, c'est pour ca que j'ai pensé à javascript. car un webservice c'est un protocol du W3C en envoie la requete en XML et on recoit en XML, je pensais qu'on aurait pu s'en servir en javascript mais apparement non
Si tu veux un exemple de ce qui est fait je vais bientot uploader tout ca sur un serveur, tu comprendras peut etre mieux

merci de ton aide

Cyril (Alias Jesusonline)
Messages postés
1
Date d'inscription
jeudi 22 avril 2004
Statut
Membre
Dernière intervention
22 avril 2004

Il est possible d'invoquer un web service via javascript.

Ci-dessous : une page html qui invoque la fonction GetDepartmentList quand on appuie sur un b ouron

Elle affiche la requete dans une alerte
puis afiche la reponse dans une autre alerte
(reste à décoder la réponse !)

Ca marche dans les navigateurs IE5 et sur Netcape > 6 - il n'y a pas de méthode standard pour poster une requete en javascript.

Bonne chance.

Anne

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test hello</title>

<script language="javascript">

function envoyer(){
var xmlhttp
if ( typeof XMLHttpRequest == "object" ) {
xmlhttp = new XMLHttpRequest();
}if ( typeof ActiveXObject "object" || typeof ActiveXObject "function") {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}

xmlhttp.open("POST", "http://www.e-naxos.com/scripts/enwscp.dll/soap/IODCODESPOSTAUX",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
alert(xmlhttp.responseText)
}
}

xmlhttp.setRequestHeader("MessageType", "CALL")
xmlhttp.setRequestHeader("Content-Type", "text/xml")

var miSoap=
'<?xml version="1.0" encoding="UTF-8"?> \n' +

'<soap:Envelope\n' +
'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"\n'+
'xmlns:ns1="hello.samples"\n'+
'>\n'+
'<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">\n'+
'<ns1:GetDepartmentList>\n'+
'</ns1:GetDepartmentList> \n' +
'</soap:Body> \n' +
'</soap:Envelope>';

alert(miSoap);
xmlhttp.send(miSoap);
}

</script>

</head>


test hello




</html>
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
MERCI !!!

ca m'a l'air interressant, je n'aurais pas cru que ca aurait été possible, je trouve le code un peu complexe je n'ai pas tout compris des le debut mais pas tant que ca, je ne trouve pas que la requete du service web soit si peu standard, il faut juste connaitre xml et c'est a peu pres bon :p

J'ai testé avec IE caJavascript/DHTML Codes Sources Webservice en javascript (jesusonline) | 1036 sources Javascript, Source, Code, Programmation, , Cours , Tutorial, Tutoriaux etc. programmation, developper, coder, scripts, DotNet, J2EE marche, mais avec firefox non, c'est un pb de koi ? c'est reparable sinon ca m'arrange pas du tout, en fait je travaille en .net et surtout asp.net, et je voulais créer un control personnalisé qui permet de trouver les villes en fonction du CP j'ai fait ca mais ca necessite un retour serveur, mais ca à le merite d'etre compatible multi utilisateur ....

donc ca m'arrange pas de ne pas pouvoir faire ca pour tous les navigateurs, si il n'y a pas de solution j'ai tj la solution de detecter le navigateur et de faire en fonction de celui ci mais il existe peut etre une solution :)

Je compte réutiliser ce code, et le mettre dans une de mes sources pour la publier sur ce site puis-je ? bien sur je ferais allusion a ce message

Merci encore et @+

Cyril (Alias Jesusonline)
Messages postés
4
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
17 novembre 2008

Merci


[auteur/AGERODOL/265354.aspx agerodol] pour ce code simple et efficace