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 :

Consommation Web service


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut Consommation Web service
    Bonjour à toutes et à tous,

    je cherche à avoir un exemple de consommation d'un web service via Javascript.

    Voiçi le lien d'un web service publique et gratuit:

    http://www.webservicex.net/CurrencyConvertor.asmx?WSDL

    Le problème ici c'est que j'ai cherché sur internet et j'ai pas trouvé beaucoup de résultats sur comment consommer un web service en passant des arguments/paramètres (comme c'est le cas pour le web service cité ci-dessus: FromCurrency / ToCurrency).

    J'ai essayé avec ce code, mais rien n'est affiché:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <script type="text/javascript">
           function soap() {
     
                var xmlhttp = new XMLHttpRequest();
                xmlhttp.open('POST', 'http://www.webservicex.net/CurrencyConvertor.asmx', true);
     
                // build SOAP request
                var sr =
                    '<?xml version="1.0" encoding="utf-8"?>' +
                    '<soapenv:Envelope ' + 
                        'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
                        'xmlns:api="http://127.0.0.1/Integrics/Enswitch/API" ' +
                        'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
                        'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">' +
                        '<soapenv:Body>' +
                            '<api:some_api_call soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' +
                                '<FromCurrency xsi:type="xsd:string">TND</FromCurrency>' +
                                '<ToCurrency xsi:type="xsd:string">EUR</ToCurrency>' +
                            '</api:some_api_call>' +
                        '</soapenv:Body>' +
                    '</soapenv:Envelope>';
     
                xmlhttp.onreadystatechange = function () {
     
                    if (xmlhttp.readyState == 4) {
                        if (xmlhttp.status == 200) {
     
                            alert('done use firebug to see response');
                        }
                    }
                    if (xmlhttp.readyState == 0) {
                        alert('open() has not been called yet');
                    }
     
                    if (xmlhttp.readyState == 1) {
                        alert('send() has not been called yet');
                    }
     
                    if (xmlhttp.readyState == 2) {
                        alert('send() has been called, ...');
                    }
     
                    if (xmlhttp.readyState == 3) {
                        alert('Interactive - Downloading');
                    }
                    else
                    alert('Consuming Error');
                }
                // Send the POST request
                xmlhttp.setRequestHeader('Content-Type', 'text/xml');
                xmlhttp.send(sr);
                // send request
                // ...
            }
        </script>
    NB: J'invoque la méthode post() lorsque j'appuie sur un bouton d'un formulaire.

    Comment pourrais-je règler ça?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    NB: J'invoque la méthode post() lorsque j'appuie sur un bouton d'un formulaire.
    un bouton de type sumbit ?
    as tu inhibé l'envoi du form ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Oui, c'est un bouton de type submit.

    as tu inhibé l'envoi du form ?
    Voila:
    <form action="#">

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    Juste comme remarque:

    J'ai mis une alert au niveau de la méthode xmlhttp.onreadystatechange mais elle ne s'affiche pas, donc cette méthode n'est pas entrain d'être invoquée !

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    tu appelles ça inhiber l'envoi ...

    ton form est envoyé ... tu perds ton ajax !

    change ton bouton en input type button
    ou mets un return false dans le onsubmit
    là ton envoi sera inhibé ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    705
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 705
    Par défaut
    J'ai enlevé le "#" et j'ai changé le type du bouton en button mais ça ne fonctionne toujours pas.... rien n'est affiché!

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/01/2013, 22h28
  2. consommé web service
    Par franfr57 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 20/09/2011, 11h49
  3. [PHP 5.0] Consommation web services
    Par tomtom7480 dans le forum Langage
    Réponses: 0
    Dernier message: 19/05/2011, 15h38
  4. Consommation Web Service en RPG
    Par parzifal dans le forum AS/400
    Réponses: 1
    Dernier message: 10/12/2010, 21h27
  5. Client .Net consommant web service en php
    Par Tsubasa dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 05/05/2007, 09h58

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