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

JavaScript Discussion :

Consommer un web service JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2012
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Par d�faut Consommer un web service JavaScript
    Bonsoir a tous
    je suis en train de consomme un web service avec JavaScript, je tester cette solution, mais je peux pas comprend quelque ligne de code alors S.V.P. qui pe m'aider a explique a qoid sert chaque ligne souligne de se code
    Merci
    Cordialement.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    
    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://localhost:8080/testWebService/WebService1?Tester",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/wsdl/soap/"\n'+
    'xmlns:ns1="WebService1"\n'+
    '>\n'+
    '<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/wsdl/">\n'+
    '<ns1:bonjour>\n'+
    '</ns1:bonjour> \n' +
    '</soap:Body> \n' +
    '</soap:Envelope>';
    
    alert(miSoap);
    xmlhttp.send(miSoap);
    }

  2. #2
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    seule la premi�re ligne que tu as soulign� est importante
    c'est l'adresse de ton web service.

    Mais le navigateur t'interdit d'int�roger un autre serveur que celui qui h�berge ta page.

    donc ton URL http://localhost:8080/testWebService/WebService1?Tester
    NE DOIT PAS CONTENIR DE PARTIE SEERVEUR
    /testWebService/WebService1?Tester
    le serveur est obligatoirement celui de la page.

    les deux autres lignes que tu as soulig� sont des espaces de noms XML
    La d�finition des datas � envoyer au serveur pour invoquer le service est normalis� et ses espaces de noms font parti de la norme.
    Code javascript : 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
    28
    29
    30
    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://localhost:8080/testWebService/WebService1?Tester",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"?>' +
    '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="WebService1" >'+
    '<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/wsdl/">'+
    '<ns1:bonjour />'+
    '</soap:Body>' +
    '</soap:Envelope>';
     
    alert(miSoap);
    xmlhttp.send(miSoap);
    }

    la r�ponse du serveur est toujours en XML tu n'as pas besoin de r�cup�rer xmlhttp.responseText pour l'analyser. xmlhttp.responseXML contient la r�ponse sous forme d'un DOM

    A+JYT

  3. #3
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2012
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 9
    Par d�faut
    Merci bien sekaijin, �a marche et je modifier le code, pour supporte touts le navigateur pas seulement IE, mais si je fais alert(xmlhttp.responseText) il m'afficher une alert vide et si je fais alert(xmlhttp.responseXML) elle m'affiche [object].
    Je sais pas comment obtenir le r�sultat de DOM pouvez-vous m'aide S.V.P

  4. #4
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    tu as un example complet ici:http://www.in3d.eu/in3d_Programming/...sponseXML.html


    par contre il ne v�rifie pas que le XML est OK
    lorsque tu as re�us ta r�ponse il te faut v�rifier
    responseXML.parseError.errorCode et
    responseXML.parseError.reason

    si la r�ponse qu'envoie le server n'est pas conforme tu aura une erreur XML dans responseXML.parseError


    A+JYT

Discussions similaires

  1. Consommer un web service avec JavaScript
    Par Med_Hamma dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 17/06/2012, 15h44
  2. Comment consommer un web service par un client Javascript
    Par feldene dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 08/09/2010, 10h17
  3. deployer et consommer un web service
    Par f�t�m�t� dans le forum Services Web
    R�ponses: 6
    Dernier message: 23/10/2007, 22h41
  4. R�ponses: 7
    Dernier message: 17/10/2007, 17h06
  5. Comment consommer un web service en java
    Par Vins83 dans le forum Services Web
    R�ponses: 1
    Dernier message: 16/01/2006, 23h33

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