Ceci est une ancienne révision du document !


Implémentation de services

Sujet en cours d'élaboration

Modalités

Métier

Le projet TIW5 2013 Base1) contient à présent un nouveau module services. Le module model a été mis à jour. On partira de cette nouvelle base pour ce TP.

Créer une classe qui implémente l'interface ILivraison. A cette occasion, on effectuera les modifications nécessaires au module model (ajout d'entités, de dao, etc). La javadoc de l'interface ILivraison donne des détails concernant le comportement attendu des différentes méthodes.

Ecrire quelques tests unitaires pour vérifier le bon fonctionnement de la classe.

Implémentation en servlet

Créer une nouvelle servlet pour implémenter le service LivraisonService du fichier livraisons.wsdl2). On utilisera SAAJ pour la (dé)sérialisation des messages SOAP. On séparera le traitement en trois classes:

  • La gestion des requêtes HTTP et l'extraction du message SOAP dans la servlet
  • Une classe contrôleur qui:
    • effectuera les conversions XML ↔ objet via JAXB
    • appellera les bonnes méthodes métier
  • La classe écrite précédement pour effectuer le traitement métier.

Implémentation via @WebServiceProvider

Modifier le contrôleur précédent pour qu'il puisse être annoté via @WebServiceProvider. Le choix est laissé libre entre un traitement du message SOAP complet ou un traitement direct au niveau du PAYLOAD. Configurer3) la servlet CXF pour exposer le contrôleur comme une service implémentant le service précédent. On pourra s'inspirer de la configuration du module wine-service. On commentera les différents éléments de configuration (XML, annotations) introduits en expliquant leurs effets.

Implémentation via @WebService

Annoter l'interface ILivraison et la classe qui l'implémente avec @WebService et configurer CXF pour exposer ce service. Le service Livraison doit être correctement implémenté

Génération de code

Stub Client

2)
module services
3)
ce qui veut dire également ajouter les bonnes dépendances dans le pom