-
Notifications
You must be signed in to change notification settings - Fork 0
0.4 - Ajout d'un Web Service en EJB Stateless #4
Description
Contenu
Ajout du WebService AdditionWebService sous la forme d'un EJB Session Stateless (voir "Remarques").
Une fois déployé, ce Web Service retourne une String qui est la concaténation des deux paramètres String passés en paramètre.
Remarques
Il y a deux moyens d’implémenter un service web :
- Le premier repose sur les servlets où une simple classe annotée est déployée dans un conteneur web (dans un WAR).
- L’autre moyen repose sur les EJB sans état qui sont annotés à la fois par @stateless et @WebSevice, puis déployés dans un conteneur EJB (dans un .jar ou .ear).
Dans ce tutoriel c'est évidemment la seconde option qui a été choisie (via EJB Stateless).
La création du WebService consiste en seulement 3 étapes :
- Créer l'interface
AdditionWebService(avec les annotations@Remoteet surtout@WebService) - Créer le Stateless Bean
AdditionWebServiceBeanqui l'implémente (avec les annotations@Statelesset surtout@WebService) - Ajouter la configuration Maven (la dépendance
xfire:xfire-jsr181-api) - Et déployer !
Pour information, dans le cas d'un Web Service via servlet / war, l'interface est inutile : il y a uniquement la classe annotée.
Le subtilité, pour ne pas dire difficulté, réside dans l'obtention du nom du Web Service (afin de pouvoir l'appeler). En fait, quand vous déployer l'EJB (l'EAR) dans JBoss, vous voyez apparaitre la trace suivante :
id=AdditionWebServiceBean
address=http://localhost:8080/jeetuto-ejb-0.4-SNAPSHOT/AdditionWebService/AdditionWebServiceBean
implementor=me.couvreur.java.jeetuto.ejb.ws.AdditionWebServiceBean
invoker=org.jboss.wsf.stack.cxf.InvokerEJB3
serviceName={http://ws.ejb.jeetuto.java.couvreur.me/}AdditionWebService
portName={http://ws.ejb.jeetuto.java.couvreur.me/}AdditionWebServiceBeanPort
wsdlLocation=null
mtomEnabled=false
Cette trace vous donne à la fois :
- Le nom du Web Service :
AdditionWebServiceBean - Mais aussi et surtout l'URL par laquelle y accéder :
http://localhost:8080/jeetuto-ejb-0.4-SNAPSHOT/AdditionWebService/AdditionWebServiceBean
Une fois le Web Service déployé, voici quelques pistes pour le tester :
Quant à la prochaine étape de ce tutoriel, il s'agira probablement de se pencher sur les Web Services RESTful en Java