![](//s1.studylibfr.com/store/data-gzf/fb78f61bec649703638fceae46ed173b/1/002594570.htmlex.zip/bg5.jpg)
3 Apache CXF
Dans cette partie, nous allons étudier le framework de développement de webservice Apache CXF. Pour simplifier
sa mise en œuvre, nous utiliserons Spring.
Objectif : créer un webservice retournant la somme de deux nombres.
3.1 Le service web
— Créer une application web dans Netbeans de nom WS_CXF
— Ajouter les librairies nécessaires contenues dans l’archive Librairies.tar.gz
— Créer une classe Calcul dans le package entite contenant deux attributs entiers i et j, ainsi que les accesseurs
— Créer l’interface service.CalculService contenant le prototype d’une méthode d’ajout de deux entiers
— Créer la classe service.CalculService implémentant l’interface précédente
— Créer le fichier de configuration de Spring applicationContext.xml à la racine du classpath des sources
— Modifier le fichier web.xml
— Déployer l’application et visualiser le descripteur WSDL généré
http ://localhost :8080/WS_CXF/ICalculService ?wsdl
3.2 Un client Java classique
— Sans CXF
— Créer une application Java de nom WS_CXF_Client
— Créer le service web client à partir du WSDL généré précédemment
— Comme pour Metro, tester la méthode proposée par le webservice individuService
— Analyser les sources générées (jax-ws) dans le package service
— Avec CXF
— Ajouter les libraires CXF au projet
— Ajouter la méthode de test
— Analyser les résultats
— Avec CXF et Spring
— Ajouter les libraires CXF au projet
— Ajouter la méthode de test
— Créer le fichier de configuration de Spring applicationContext.xml à la racine du classpath des sources
— Tester les deux appels de Bean Spring possibles
3.3 Enrichissement du service web
— Ajouter une nouvelle méthode dans l’interface ICalculService permettant de faire la soustraction de deux
nombres
— Implémenter cette méthode qui doit retourner un entier
— Redéployer le webservice
— Analyser les sources générées
— Ajouter une méthode de tests au client
3.4 Sécurisation du webservice
Pour ce TP, on va partir des projets WS_CXF et WS_CXF_Client que l’on va dupliquer en WS_CXF_Secure
et WS_CXF_Client_Secure.
3.4.1 Sécurisation du service
— Dans le projet WS_CXF_Secure, modifier le fichier de configuration de Spring comme présenté dans le cours
en ajoutant les intercepteurs nécessaires pour implémenter WS-security
— Créer le validateur de token en implémentant la méthode "verifyPlaintextPassword"
— Relancer le service web et vérifier la disponibilité de son descripteur
http ://localhost :8080/WS_CXF_Secure/ICalculService ?wsdl
3.4.2 Sécurisation du client
— Dans le projet WS_CXF_Spring_Secure, modifier le fichier de configuration de Spring en ajoutant les inter-
cepteurs nécessaires pour implémenter WS-security
— Créer le callbackHandler test.PWCallbackHandler fournissant le couple identifiant / Mot de passe nécessaire à
la connexion au service web
5