29 0 1MB
Exercices
59
Exercice › Qu’elle est l’usage classique de HTTP ? › HTTP est-il classiquement un protocole d'appel de procédure distante (justifiez votre réponse) ? › Quelles sont les différentes méthodes offertes en HTTP ? › Quels avantages voyez-vous à la réalisation de communications SOAP en utilisant le protocole HTTP ? › Quels sont les avantages de l’utilisation de XML pour représenter la structure des messages échangés en SOAP ? 60
Exercice Préciser le nom de la méthode invoquée et les paramètres d’appel de ce message SOAP
FT35ZBQ
Åke Jógvan Øyvind 123456789099999 2005-02
61
Mise en pratique
63
Mise en Œuvre avec JAVA › Il existe trois méthodes différentes pour développer des services Web SOAP avec JAVA : – En utilisant l’API JAX-WS – Avec la méthode Bottom Up sous Eclipse – Avec le méthode Top Down sous Eclipse
64
Mise en pratique L’API JAX-WS
65
Mise en Œuvre avec JAVA : JAX-WS › JAX-WS permet de développer très simplement des services web en Java. › JAX-WS fournit un ensemble d'annotations pour mapper la
correspondance Java-WSDL. Il suffit pour cela d'annoter directement les classes Java qui vont représenter le service
web. 66
Mise en Œuvre avec JAVA : JAX-WS @WebService(serviceName="BanqueWS") Public class BanqueService { @WebMethod(operationName="ConversionEuroToTND") public double conversion(@WebParam(name="montant") double mt){ return mt*3.27; } @WebMethod public String test(){ return "Test"; } @WebMethod public Compte getCompte(){ return new Compte(1,7000); } @WebMethod public List getComptes(){ List cptes = new ArrayList(); cptes.add(new Compte(1, 7000)); cptes.add(new Compte(2, 9000)); return cptes; } }
67
Mise en Œuvre avec JAVA : JAX-WS › Une classe Java utilise des annotations JAX-WS afin de générer le document WSDL. › Le document WSDL est auto-généré par le serveur
d'application au moment du déploiement.
68
L’API JAX-WS pour les Web Services de JAVA › L’API JAX-WS est très simple : – Vous aurez juste à écrire le service désiré… – … amélioré par des annotations
› Vous n’aurez pas à gérer comment les requêtes SOAP sont traités › Juste vous aurez à vous concentrer à la logique du service
› Nous allons voir les annotations principales fournies par JAX-WS…
69
Développement d’un Web Service avec JAX-WS › Pour définir un Service Web, on utilise l’annotation @WebService @WebService public class CircleFunctions { public double getArea(double r) { return java.lang.Math.PI * (r * r);
} public double getCircumference(double r) { return 2 * java.lang.Math.PI * r; } }
70
Développement d’un Web Service avec JAX-WS › L’API JAX-WS fourni aussi l’annotation @WebMethod pour personnaliser les méthodes du Service Web : @WebMethod public double getArea(double r) { return java.lang.Math.PI * (r * r); }
72
Développement d’un Web Service avec JAXWS sous Eclipse › Créer un projet Web dynamique › Choisir le serveur Wildfly comme
Target runtime
75
Développement d’un Web Service avec JAXWS sous Eclipse › Créer la classe d’implémentation du service › Ajouter les annotations
76
Développement d’un Web Service avec JAXWS sous Eclipse › Lancer le service web sur le serveur Wildfly
77
Génération du fichier WSDL › Comment générer le fichier WSDL correspondant au Service Web créé ? – JAX-WS le fait pour vous !
› On peut retrouver le chemin dans l’output sur la console de eclipse
78
Développement d’un Web Service avec JAXWS sous Eclipse › Tester le service web avec l’explorateur web service
80
Développement d’un Web Service avec JAXWS sous Eclipse › Tester le service web avec l’explorateur web service
81
Consommer un Web Service avec JAX-WS › JAX-WS est une API qui peut être utilisé : – Du côté serveur pour définir des Web Services – Du côté client pour consommer des Web Services
› Les Web Services SOAP sont interopérable ! – Vous pouvez utiliser JAX-WS pour consommer un Web Service développer avec d’autres technologies
– Tous ce que JAX-WS a besoin est la localisation du fichier WSDL et les librairies JAX-WS
82
Consommer un Web Service avec JAX-WS › Un environnement de développement IDE comme Eclipse fournie des outils pour générer automatiquement le client Web Service.
83
Mise en pratique La méthode Bottom Up
84
Développement d’un Web Service avec la méthode Bottom up sous Eclipse › Créer un projet web dynamique › Choisir le serveur WildFly
comme Target Runtime › Choisir JavaSE-8 comme
« Execution environment » dans le Build Path
85
Développement d’un Web Service avec la méthode Bottom up sous Eclipse › Créer la classe qui implémente le service web
86
Développement d’un Web Service avec la méthode Bottom up sous Eclipse › Générer le service web Bouton droit classe d’implémentation /new/other/web services/web service
87
Développement d’un Web Service avec la méthode Bottom up sous Eclipse › Démarrer le serveur
88
Développement d’un Web Service avec la méthode Bottom up sous Eclipse › Monitoring du service web
89
Mise en pratique La méthode Top Down
90
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Créer un projet web dynamique › Choisir le serveur WildFly
Comme Target Runtime › Choisir JavaSE-8 comme
« Execution environment » dans le Build Path
91
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Importer le fichier wsdl dans le dossier WebContent › Générer le service web Bouton droit fichier wsdl /new/other/web services/web service
92
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Démarrer le serveur › La classe d’implémentation
(AreaServiceSOAPImpl.java) apparait.
93
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Changer les méthodes pour correspondre à l’implémentation souhaité
94
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Créer le client web service › Sélectionner le fichier wsdl généré lors de la création du web service
(AreaServiceSOAP.wsdl) › File -> New -> Other... ->
Web Services -> `Web Service Client. 95
Développement d’un Web Service avec la méthode Top Down sous Eclipse › Changer le nom du projet client
96
Développement d’un Web Service avec la méthode Top Down sous Eclipse
97
Tester les services web SOAP › L’outil SoapUI
98