Maîtrisez la valeur ajoutée du framework Apache CXF pour le développement et le déploiement de vos services web. Comprenez la valeur ajoutée du couplage Spring / CXF pour vos développement de services web. Enfin, gérez vos dépendances et la génération de vos livrables avec Maven 2.
Ce tutoriel est fourni par Objis, spécialiste formation JAVA depuis 2005.
Liens utiles
+ de 100 tutoriaux java/jee Objis
Tutoriel et formation Web Services
Web Services (bottom-up) avec Eclipse / Axis2
Specs WS-Addressing
WS-Adressing avec CXF
WS-Security avec CXF
WS-ReliableMessaging avec CXF (config, Exemple sous Jboss)
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis
Programme
Bonne pratique : couplage Spring / Apache CXF
Bonne pratique : intégration Apache CXF à un développement J2ee
Bonne pratique : coder appel web service dans couche service Spring
Bonne pratique : gestion dépendances (jars) cxf, automatisation build et création livrable war avec maven.
Prérequis
¨Programme
Contexte
Partie 1 : Création du web service
Partie 2 : intégration Spring / CXF
Partie 3 : build maven
Partie 4 : création de la livraison
Partie 5 : déploiement web service
Partie 6 : test
Partie 7 : intégration dans projet Spring MVC
Contexte
Valeur ajoutée cxf+serveur pour déploiement ws
Dans le tutoriel ‘création web service avec java 6’ , la publication du service web était gérée par une classe spécifique. De plus le web service n’était pas multithread.
CXF, couplé à un serveur d’application (Ex : Tomcat) va nous permettre de nous dispenser d’une classe spécifique pour publier notre web service. De plus le web service sera accessible par plusieurs clients simultanés.
Votre mission
Dans le cadre d’une architecture applicative basée sur Spring, vous devez permettre dans la coucche service l’appel à un web service.
INFO : voir le tutoriel Spring N°8 : introduction Spring MVC , pour plus d’éléments techniques.
Partie 0 : création projet web spring sous eclipse
Installez Tomcat 6
Installez Eclipse Entreprise (Ex : galileo)
Intégrez tomcat dans eclipse
Installez le plugin Spring IDE
Créez un projet web dynamique eclipse : demospringwebservices
Donnez au projet la ‘nature Spring’ afin de bénéficier des assistants comme celui pour création du fichier de définition des beans Spring
Ajoutez à eclipse le plugin Maven m2eclipse (http://m2eclipse.sonatype.org/update)
Donnez au projet la ‘nature maven’, afin de synchroniser dépendances maven/eclipse
Partie 1 : création du service web
Interface
Expliquez
Implémentation
Expliquez
domaine métier
Expliquez l’annotation JAXB @XmlRootElement
Partie 2 : intégration Spring / CXF
Un des avantages du framework CXF est sa bonne intégration avec le framework Spring.
Dans cette partie vous allez :
— créez le fichier de configuration de Spring ApplicationContext.xml
— configurez le fichier web.xml de l’application pour l’intégration de l’application avec Spring.
Fichier AppliCationContext.xml
A l’aide de l’assistant de création de fichier de beans, créez le fichier WEB-INFApplicationContext.xml
Ajoutez le namespace jaxws , qui permettra par exemple de déclarer notre service web à publier
Ajoutez le code de déclaration de notre service web
Expliquez
Fichier web.xml
Ajoutez au fichier web.xml les éléments permettant de charger le conteneur spring.
Expliquez le rôle de la servlet org.apache.cxf.transport.servlet.CXFServlet
Partie 3 : build maven
Analysez le contenu du fichier pom.xml suivant.
En particulier, expliquez la section des dépendences :
Quelle est la valeur ajoutée de Maven dans notre projet ?
Voici l’arborescence du projet .
Partie 4 : création de la livraison
Lancez : mvn clean install
Après quelques secondes durant lesquels maven rapatrie en local les dépendences du projet, vous obtenez le résultat suivant :
Partie 5 : déploiement
Lancez tomcat
déposez la livraison dans le répertoire webapps de tomcat
Analysez les logs console de tomcat
Parmi les ligne de log, remarquez les lignes suivantes :
Expliquez.
Avec le navigateur, allez à l’adresse suivant : http://localhost:8080/demandeformation-1.0-SNAPSHOT/
CXF nous informe qu’un service web a été publié et est disponible
Analysez le WSDL du service web:
Partie 6 : Client
Analysez le fichier client-beans suivant :
Expliquez
Analysez le code de la classe cliente :
Lancer la commande suivante : mvn exec:java -Dexec.mainClass=com.objis.demowebservice.client.Client
Expliquez
Projet eclipse
Partie 7 : intégration dans projet Spring
Intégrez le code client dans le projet Spring MVC (tutoriel 8 Spring MVC Objis).
correction-tutoriel8-springg-mvc-partie10-annotations-controleur-spring25
où mettre le code du cleint web service ?
Conclusion
Dans ce tutoriel, vous avec mis en oeuvre Spring, Apache CXF et maven pour le développement, déploiement et test d’un service web.
Formation Architecture Java
Soyez prêt pour des projets ambitieux : formation architecture Java Objis