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

Services Web Java Discussion :

Support de cours : JAXWS / Développer des Web Services étendus avec Java


Sujet :

Services Web Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut Support de cours : JAXWS / Développer des Web Services étendus avec Java
    Je continue la série de supports de cours concernant les Web Services (introduction, wsdl et SOAP). Comme les concepts ont été introduits, je vous propose maintenant de développer des Web Services étendus via la plateforme Java.

    Ce support de cours présente JAX-WS (JSR-224), une API pour développer des Web Services étendus (WSDL + SOAP) via la plateforme de développement Java.

    Si vous avez des commentaires, des souhaits, n'hésitez pas, profitez de cette discussion.

    Le cours : http://mbaron.developpez.com/soa/jaxws/

    Mickael BARON (http://keulkeul.blogspot.com)

    Voir aussi les tutoriels et cours de formation pour apprendre la programmation avec Java.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 72
    Points
    72
    Par défaut Question wsdl
    Bonjour,

    Merci pour ce support de cours, je suis entrain de le suivre pour comprendre un peu les webservices.

    J'ai une question concernant la wsdl qui a été automatiquement générée. Je parle de l'exemple : HelloWorldQuietWebService

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <operation name="simpleHelloWorld">
    <soap:operation soapAction="" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
    <input>
    <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
    </input>
    <output>
    <soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
    </output>
    </operation>

    Je ne suis pas dutout expert wsdl mais d'après ce bout je me dis que simpleHelloWorld() prend un paramètre en entrée, hors ce n'est pas le cas.

    Quelqu'un peut m'éclairer ?

    Merci

  3. #3
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Salut,

    Ce n'est pas la partie concrète du WSDL qui peut te dire avec exactitude la nature des paramètres de l'opération. Il faut regarder la partie abstraite du WSDL.

    En regardant la partie abstraite de simpleHelloWorld (balise operation) tu verras qu'il existe un input et un output alors que dans la classe Java la méthode simpleHelloWorld ne dispose pas de paramètre. Étrange, non ?

    C'est normal car par défaut l'opération associée à la méthode Java est de type Request/Response (voir transparent 27 du cours sur WSDL). Par conséquent l'opération doit disposer d'un input et d'un output.

    Que contient l'input par conséquent ? Si tu regardes son message (balise message), tu verras qu'il pointe sur un type défini appelé tns:simpleHelloWorld. En regardant maintenant dans la définition des types tu constateras que tns:simpleHelloWorld définit une séquence sur aucun élément.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  4. #4
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Points : 4
    Points
    4
    Par défaut message soap
    merci beaucoup pour vos explications.
    j'ai une question qui me casse la tête depuis quelques jours , concernant les messages soap.
    c'est comment connaitre la destination finale du message soap à partir du message lui-même? d'après tous ce que j'ai lu dans ce domaine il n y a pas d'informations a propos de la destination ou même de l'envoyeur.
    donc comment soap garde la trace de l'expéditeur initial afin qu'un nœud puisse répondre ou bien revoie un message d'erreur?
    merci d'avance.

  5. #5
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Salut,

    C'est du côté du serveur Web que tout se passe.

    A une requête le serveur retourne une réponse.

    Du côté de l'API JAX-WS tu n'as pas moyen de savoir qui sait sauf si tu mettais dans le message d'entrée cette information.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 72
    Points
    72
    Par défaut
    Citation Envoyé par keulkeul Voir le message
    Salut,

    Ce n'est pas la partie concrète du WSDL qui peut te dire avec exactitude la nature des paramètres de l'opération. Il faut regarder la partie abstraite du WSDL.
    Merci pour cette information.

    Citation Envoyé par keulkeul Voir le message
    En regardant la partie abstraite de simpleHelloWorld (balise operation) tu verras qu'il existe un input et un output alors que dans la classe Java la méthode simpleHelloWorld ne dispose pas de paramètre. Étrange, non ?

    C'est normal car par défaut l'opération associée à la méthode Java est de type Request/Response (voir transparent 27 du cours sur WSDL). Par conséquent l'opération doit disposer d'un input et d'un output.

    Que contient l'input par conséquent ? Si tu regardes son message (balise message), tu verras qu'il pointe sur un type défini appelé tns:simpleHelloWorld. En regardant maintenant dans la définition des types tu constateras que tns:simpleHelloWorld définit une séquence sur aucun élément.
    Oui d'accord, MAIS Je ne vois AUCUNE différence entre la description des deux méthodes makeHelloWorld qui prend un paramètre en entrée et simpleHelloWorld qui ne prend rien.

    Merci de m'éclairer sur ce point car je sèche.
    Bonne journée

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 72
    Points
    72
    Par défaut
    Excuse moi j'ai été dérouté par le fait que les types n'étaient pas dans la même wsdl et du coup je ne les voyais pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <types>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <xsd:import namespace="http://helloworldquietwebservice.lisi.ensma.fr/" schemaLocation="http://localhost:8080/HelloWorldQuietWebService/helloworldquiet?xsd=1"/>
    </xsd:schema>
    </types>
    Ah maintenant c'est plus clair.

    Merci pour ce travail keulkeul J'aime bien ton support.
    Je recommande cette lecture aussi pour la wsdl notamment pour les parties abstraites et concretes ...
    http://msdn.microsoft.com/en-us/libr...erstand_topic5

    @++

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 75
    Points : 72
    Points
    72
    Par défaut maven scope provided ?
    Bonjour Mickael

    J'ai une question un peu hors sujet concernant maven :

    Pourquoi as tu précisé le scope provided à la dépendance jaxws-rt sachant que pour jouer les exemples avec mvn tomcat:run il me faut absolument supprimer ce scope.

    Merci

  9. #9
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    Je recommande cette lecture aussi pour la wsdl notamment pour les parties abstraites et concretes ...
    http://msdn.microsoft.com/en-us/libr...erstand_topic5
    Merci

    Pourquoi as tu précisé le scope provided à la dépendance jaxws-rt sachant que pour jouer les exemples avec mvn tomcat:run il me faut absolument supprimer ce scope.
    Je vais t'avouer que je ne m'en souviens plus trop Je pense que mon Tomcat ne possédait pas les dépendances peut être.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  10. #10
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Un grand merci KeulKeul pour ton tutoriel que j'ai trouvé efficace.


    Je souhaite exécuter un web service à partir d’un script Shell car le lancement du web service serait programmé tous les jours à la même heure. Dans ce contexte, le web service ne doit pas être déployé sur un serveur d’application.

    Apriori JAX-WS propose de développer des web service sans l’utilisation d’un serveur d’application. Seulement, je n’ai rien trouvé de concret sur le net.


    Est ce quelqu’un aurait un lien à me proposer, un bout de solution… ???

    Merci

  11. #11
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 73 024
    Points
    73 024
    Par défaut
    @almo6411

    Va voir du côté des exemples fournis par le support de cours.

    eclipse3.5/NotebookWebServiceFromJavaSE/src/main/java/fr/ensma/lisi/notebookwebservicefromjavase/NotebookServicePublish.java

    Ton shell executera un programme Java avec des paramètres en entrée.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

Discussions similaires

  1. modéliser des web services Rest développé avec php5
    Par bahloula dans le forum Langage
    Réponses: 1
    Dernier message: 13/04/2014, 08h04
  2. Formation ORSYS : Développer des Web Services en Java
    Par nabbilnabil dans le forum Débats
    Réponses: 0
    Dernier message: 27/10/2011, 15h10
  3. [SOAP]Développement d'une IHM Web Avec des Web Services
    Par aPicaud dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 26/09/2007, 10h59

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