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 :

Comment consommer un web service par un client Javascript


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 61
    Points : 38
    Points
    38
    Par défaut Comment consommer un web service par un client Javascript
    Bonjour tout le monde
    je cherche un exemple simple qui explique comment consommer un service web WSDL en utilisant du javascript/Ajax ?
    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par feldene Voir le message
    Bonjour tout le monde
    je cherche un exemple simple qui explique comment consommer un service web WSDL en utilisant du javascript/Ajax ?
    Merci d'avance
    si tu trouves la reponse fais moi un signe! j'en ai tres besoin! Merci d'avance

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    ça dépends du service
    un service SOAP

    tu ouvre l'url associé au service et tu lui envois une enveloppe SOAP
    pour ça tu as intérêt à bien connaitre la norme car il va te falloir constituer une string correspondant au XML SOAP

    tu envois l'enveloppe à ton URL avec XMLHTTPRequest
    attention à tout les mécanisme d'authentification qui ne dépends pas de la norme mais de la façon don le serveur la met en oeuvre.

    en réponse tu vas recevoir un enveloppe SOAP je te conseille d'utiliser response.XML qui vas parser pour toi la réponse.

    à l'aide de XPath tu peux alors récupérer l'élément de ton choix dans la réponse.

    si ton web service n'est pas sur le même serveur que celui hébergeant ta page tu vas avoir un pb de droit et l'utilisateur sera obligé de baisser la sécurité de son navigateur.


    perso je ne fais jamais ça.

    sur le serveur où est hébergé ma page je fait un php qui offre le même service que le webservice mais cette fois sous forme simple
    la méthode et les paramètres sont transmit via des variable HTTP et la réponse est un JSON

    ainsi un simple appel AJAX permet d'y accéder sans pb de cross-domain

    côté serveur mon url hébergeant le service est un php qui lit les paramètres reçus et invoque le webservice via les API php adéquat (SOAP REST etc.) il récupère la réponse et en fait un JSON qu'il donne au client.


    pour la sécurité lorsque le client ouvre ma page je génère un UUID que je place dans la page. lors des appel AJAX ce UUID est transmis via une entête HTTP
    le service PHP lit l'entête et la compara à la valeur qu'il possède sur le serveur dans la session de l'utilisateur.

    on ne peu donc pas invoquer mon service local sans passer par l'URL de ma page.

    si la sécurité est sensible le délait d'expiration du UUID est très court
    la page embarque alors un appel régulier à un service de régénération.
    la page appelle se service avec l'UUID qui lui en fournis un nouveau avant le délais d'expiration. ainsi lorsque l'utilisateur invoque le service il utilise le dernier UUID

    une personne qui capturerait l'UUID d'un utilisateur se retrouve avec un délais très cour pour invoquer le service.

    le tout se faisant dans une session HTTPS.

    mais il est rare d'avoir des besoins de sécurité aussi poussés.

    A+JYT

  4. #4
    Membre averti Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 339
    Points
    339
    Par défaut
    Hello
    Citation Envoyé par sekaijin Voir le message
    sur le serveur où est hébergé ma page je fait un php qui offre le même service que le webservice mais cette fois sous forme simple
    la méthode et les paramètres sont transmit via des variable HTTP et la réponse est un JSON

    ainsi un simple appel AJAX permet d'y accéder sans pb de cross-domain

    Je fais pareil
    bye
    Nico
    si ton travail est difficile et tes résultats sont minces
    n’oublie pas qu’un jour, le grand chêne a été un gland comme toi.

Discussions similaires

  1. Consommation d'un web service par un client lourd
    Par Pico51 dans le forum Services Web
    Réponses: 0
    Dernier message: 11/04/2014, 17h03
  2. Comment consommer un web service
    Par feldene dans le forum Services Web
    Réponses: 4
    Dernier message: 24/09/2010, 16h09
  3. Comment consommer un Web service JAX_WS avec une application Mobile
    Par herguem dans le forum Développement Mobile en Java
    Réponses: 0
    Dernier message: 13/04/2010, 17h56
  4. Comment consommer un web service?
    Par m3allem001 dans le forum Services Web
    Réponses: 1
    Dernier message: 13/04/2009, 20h01
  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