Ce TP est à rendre pour le 10/10/2012, à raison d'un rendu par binôme.
URL de rendu SPIRAL: http://spiralconnect.univ-lyon1.fr/spiral/spiral.html#/activities/goto_folder/1794629
target
)
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: service-exemple.war
. La servlet CXF est disponible à l'URL suivante après déploiement: http://localhost:8080/service-exemple/services.
Ce service s'appuie sur la possibilité de se connecter à une base PostgreSQL locale, avec possibilité d'accès sur le schéma public
de la base postgres
en utilisant les login/mot de passe etudiant
/etudiant
. La VM est déjà configurée pour cela.
La première partie du TP requiert l'utilisation de soapUI. Une nouvelle version de la VM TI1_TIW5 inclus soapUI. Il est également disponible (version linux) sur ce miroir local.
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 sur tomcat. Modifier la requête pour l'opération updateFilm
(avec des données) et l'exécuter. Faire de même avec la requête pour l'opération getInfos
en utilisant l'id renvoyé par l'opération précédente.
Créer ensuite un test avec ces deux requêtes. On automatisera dans ce test la récupération et l'injection de l'id du film via une étape de “property transfert”.
Creer un nouveau projet maven 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.
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 informations sur un film dont l'utilisateur fournira l'identifiant et l'ajout de données sur un film (les données étant saisies via l'interface texte).
Reprendre les fonctionnalités du client en ligne de commande avec un client AJAX.