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

AJAX Discussion :

[AJAX] Ajax - Jquery : appel d'un WS soap


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2002
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 22
    Par défaut [AJAX] Ajax - Jquery : appel d'un WS soap
    Bonjour à tous.

    Je rencontre depuis quelques jours un souci et j'ai beau faire et refaire ce que je trouve sur le net, je n'avance pas. J'aurais donc besoin de votre aide.

    J'aimerais appeler un WebService SOAP depuis du html/javascript. J'utilise pour cela JQuery.

    Mon test est simplifié, les paramètre d'appel sont codé en dur. Ce que je veux c'est valider l'appel et le retour.

    J'appel un WS qui converti des températures. Rien de bien compliqué. Le wsdl du WS se trouve ici : http://www.webservicex.net/ConvertTemperature.asmx?WSDL

    et j'utilise comme end point : http://www.webservicex.net/ConvertTemperature.asmx

    J'ai testé le WS avec le Web explorer d'Eclipse. Ce qui me permet de récupéré l'enveloppe soap expédiée au WS et de voir celle de réponse.

    A l'envoi, j'ai l'enveloppe suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8"?>
        <soapenv:Envelope              xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://www.webserviceX.NET/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <soapenv:Body>
                <q0:ConvertTemp>
                    <q0:Temperature>90</q0:Temperature>
                    <q0:FromUnit>degreeFahrenheit</q0:FromUnit>
                    <q0:ToUnit>degreeCelsius</q0:ToUnit>
                </q0:ConvertTemp>
            </soapenv:Body>
        </soapenv:Envelope>
    Mon souci est que le retour est toujours en erreur lorsque je l'appel avec JQuery (en ajax donc).

    J'ai une age html (page.html) qui contient le minimum vital ainsi que le template soap. Cette page pointe sur un script JS (main.js) qui contient l'appel ajax dès l'ouverture du document.

    Je vous joint les 2 codes:

    Page.html:
    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
     
    <html>
     
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="main.js"></script>
    </head>
    <body>
        <div id="contenu" class="inner">
        </div>
     
        <script id="soap-template-temperature" type="application/soap-template">
        <?xml version="1.0" encoding="utf-8"?>
        <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:q0="http://www.webserviceX.NET/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <soapenv:Body>
                <q0:ConvertTemp>
                    <q0:Temperature>90</q0:Temperature>
                    <q0:FromUnit>degreeFahrenheit</q0:FromUnit>
                    <q0:ToUnit>degreeCelsius</q0:ToUnit>
                </q0:ConvertTemp>
            </soapenv:Body>
        </soapenv:Envelope>
        </script> 
     
    </body>
     
    </html>
    main.js :
    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
     
    $(document).ready(function() {
        var url2 = "http://www.webservicex.net/ConvertTemperature.asmx";
     
     
        // Get a handle on our SOAP template.
        var soapTemplate2 = $( "#soap-template-temperature" );
        // data from the template
        var soapBody2 = soapTemplate2.html();
        soapBody2 = $.trim( soapBody2 );
     
     
        $.ajax({
            type: "post",
            url: url2,
            contentType: "text/xml",
            data: soapBody2,
            dataType: "xml",
            processData: false,
            timeout: 5000,
            success: function( response ){
                alert("success");
            },
            error: function(XMLHttpRequest,textStatus, errorThrown){
                alert("error : " + textStatus);
            }
        });
    });
    J'ai vérifié avec des alert(), l'enveloppe soap est bien récupérée coté JS.

    Le résultat est toujours l'affichage en erreur:
    error : error
    .

    Qu'est ce que je fait de faux?

    Mon environnement :
    • Windows 7 ;
    • jQuery v1.7.1 ;
    • FireFox 10.0.2 ;
    • Wamp server 2.2.


    Je suis preneur de toute idées / critiques.


    Merci d'avance et bonne journée à vous.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut
    Bonjour,

    Je rencontre le même problème que vous.
    Avez-vous trouvé une solution depuis ?

    Bonne journée,
    Fabien

Discussions similaires

  1. Imprimer le résultat d'un appel Ajax avec jQuery
    Par redah75 dans le forum jQuery
    Réponses: 5
    Dernier message: 14/05/2012, 09h03
  2. Appel Ajax avec jQuery : $.ajax is not a function
    Par Grulf dans le forum jQuery
    Réponses: 2
    Dernier message: 18/02/2011, 11h47
  3. [AJAX] Appel de fichier avec Ajax et jQuery
    Par Floco dans le forum AJAX
    Réponses: 14
    Dernier message: 09/04/2010, 23h43
  4. 2 appels $.ajax avec jQuery
    Par Sam457 dans le forum jQuery
    Réponses: 4
    Dernier message: 26/11/2009, 23h25
  5. Appel AJAX en JQuery
    Par bigbentem dans le forum jQuery
    Réponses: 14
    Dernier message: 08/09/2009, 16h05

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