Ce TP est à rendre pour le 06/10/2015, à raison d'un rendu par binôme. Le rendu se fera par l'intermédiaire d'un projet forge (on fera attention a bien donner au moins le rôle “reporter” à Emmanuel Coquery et à Lionel Medini) contenant:
target
)
L'identifiant du projet forge (de la forme pxxxxxx-nomprojet) est à saisir dans Tomuss, dans la case '“TIW5 TP2”. On fera attention à tagger la révision correspondant au rendu avec le tag TP2
L'objectif de ce TP est d'utiliser et de créer des clients pour un service web. Pour cela, on s'appuiera sur un service de récupération et de mise à jour. Le service est fourni sous la forme d'un war à déployer sur tomcat: soir la section Déploiement. La servlet CXF est disponible à l'URL suivante après déploiement: http://localhost:8080/locService/services, ou (selon le mode de déploiement) http://localhost:8080/services.
La première partie du TP requiert l'utilisation de soapUI. Mirroir local pour la version Windows, à décompresser sur le disque local en salle de TP.
soapUI est un logiciel de test pour les services Web. Lancer soapUI et créer un nouveau projet. Le logiciel propose de charger un fichier WSDL et de générer des squelettes de tests. Utiliser le wsdl du service fourni et déployé précédemment. Modifier la requête pour l'opération createOrUpdateRestaurant
(avec des données) et l'exécuter. Faire de même avec la requête pour l'opération getRestaurant
.
Créer ensuite un test avec ces deux requêtes. On vérifiera avec la deuxième recette que le restaurant existe bien et que le quartier correspond bien au quartier saisi au départ.
Creer un nouveau projet maven via Eclipse/Netbeans/IntelliJ ou via la commande
mvn archetype:generate
On choisira la réponse proposée par défaut pour le type de projet1) et la version. Le choix du groupId2), de l'artifactId3) et des autres paramètres est laissé libre. Importer ensuite le projet dans Eclipse/Netbeans/IntelliJ.
Dans ce projet, on créera un client pour le service précédent. On utilisera l'API SAAJ pour envoyer et recevoir des messages du service. Le client sera constitué d'une interface texte avec un menu permettant de choisir entre l'affichage (en mode texte) des restaurants d'un quartier donné par l'utilisateur et l'ajout ou la mise à jour d'un nouveau restaurant.
Reprendre les fonctionnalités du client en ligne de commande avec un client AJAX. Pour éviter les problèmes avec CORS, déployer sous forme d'un projet web jee dans le même serveur tomcat.
Le fichier war
peut être créé en utilisant la commande mvn package
depuis le répertoire locService
(après avoir mis à jour le dépôt depuis la forge (url de pull: https://forge.univ-lyon1.fr/hg/inf2018m-2015-base) ou en utilisant inf2018m-2015-base.zip).
Pour le déployer dans tomcat:
locService
via mvn tomcat7:run