Tutoriel Web Services : traitement messages SOAP avec Handlers

////Tutoriel Web Services : traitement messages SOAP avec Handlers

Maîtrisez le traitement à la volée des messages Soap échangés entre un client web service et le web Service. Comprenez la notion de Handler de Web service. Mettez en œuvre un handler en 3 étapes clés.

Objectif

 Contexte : traiter le message SOAP à la volée coté client ou coté serveur

 Partie 1 : Création d’un handler

 Partie 2 : intégration du handler

Programme

 Contexte : traitement de messages à la volée

 Partie 1 : Création d’un handler

 Partie 2 : intégration du handler

Contexte : traitement à la volée

 Scénarios possibles :

— Sécurité (Encrypter / Décrypter un message)

— Logs

— Cache

— Transactions

Projet initial

Vous disposez d’un webservice Soap

tutoriel-intercepteur-handler-jax-ws-1

Projet ‘demowebservice’

demowebservice

Après publication du service (Lancer classe HelloPublisher) , le wsdl est le suivant :
tutoriel-intercepteur-handler-jax-ws-2

QUESTION 1 : dans quelle section du WSDL se trouve l’adresse d’accès au webservice ?

QUESTION 2 : en déduire une faille liée à la gouvernance de ce service.

Méthodologie : 8 étapes clés

1) Choisir ou interviendra l’intercepteur : coté client ou coté WebService

Si coté Serveur, alors le code de l’intercepteur fera partie du projet du WebService (c’est le cas dans ce tutoriel)

Si coté Client, alors le code de l’intercepteur fera partie du projet du client du WebService

2) Créer un package dédié aux intercepteurs (ici com.objis.demowebservices).

tutoriel-intercepteur-handler-jax-ws-3

QUESTION : en utilisant l’API Jax-WS, expliquez le point commun et différence entre l’interface LogicalHandler et l’interface SoapHandler

 Créer une classe qui implémente l’interface SOAPHandler (Ici SoapMessageHandler.java)

tutoriel-intercepteur-handler-jax-ws-4

3) implémenter la méthode ‘handleMessage‘ de l’interface avec le traitement dédié à votre intercepteur. Ici le log du Message qui passe

tutoriel-intercepteur-handler-jax-ws-5

4) Créer à la racine des sources un fichier de configuration XML vide qui recensera l’intercepteur

tutoriel-intercepteur-handler-jax-ws-6

5) Déclarer l’intercepteur dans le fichier

tutoriel-intercepteur-handler-jax-ws-7

6) Associez l’intercepteur au Webservice dans le code du WebService

tutoriel-intercepteur-handler-jax-ws-8

7) Déployer le Webservice (Exécuter helloPublisher)

Vérifier que le port est bien occupé :

8) accédez au WebService à partir d’un client.

demosoapclient

Vous devez constater l’effet de l’intercepteur dans la console.

tutoriel-intercepteur-handler-jax-ws-11

 Expliquez.

Conclusion

Vous avez mis en oeuvre un Intercepteur Soap basé sur la spécification Jax-WS.

programme-detaille-formation-architecture-java-objis

2018-01-27T19:53:55+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java