ATTENTION : Tutorial en cours d'écriture ! N'hésitez pas à nous signaler toute erreur ou suggestion.
La mise en oeuvre d'un service Web, via le framework Ellipse, et extrêmement simple. Si vous avez des questions sur qu'est ce qu'un service Web, je vous
renvoie vers le chapitre sur la présentation des concepts fondamentaux relatifs aux services Web. Pour ce qui est de la
mise en oeuvre et du déploiement d'un service web, il suffit de suivre les points suivants.
-
Commencez par vérifier la configuration de votre application Web (fichier
WEB-INF/web.xml) pour qu'il accepte l'extension préconisée
pour les services Web ( .ws ) : cela est réalisé dans les lignes 19 à 22.
01 <?xml version='1.0' encoding='UTF-8'?>
02 <!DOCTYPE web-app PUBLIC
03 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
04 "http://java.sun.com/dtd/web-app_2_3.dtd">
05 <web-app>
06
07 <!-- Begin of file -->
08
09 <servlet>
10 <servlet-name>Ellipse Servlet</servlet-name>
11 <servlet-class>corelib.services.web.webapplications.ControllerServlet</servlet-class>
12 </servlet>
13
14 <servlet-mapping>
15 <servlet-name>Ellipse Servlet</servlet-name>
16 <url-pattern>*.wp</url-pattern>
17 </servlet-mapping>
18
19 <servlet-mapping>
20 <servlet-name>Ellipse Servlet</servlet-name>
21 <url-pattern>*.ws</url-pattern>
22 </servlet-mapping>
23
24 <!-- End of file -->
25
26 </web-app>
Fichier "WEB-INF/web.xml"
-
Codez votre service Web en respectant l'API JAX-WS (fournie par le Java SE 6.0). L'exemple suivant fournit une méthode Web appelée
add :
elle permettra d'ajouter les deux valeurs passées en paramètres. Les deux annotations @WebService et @WebMethod font
partie de l'API JAX-WS et permettent de spécifier quelles sont les classes de services Web et quelles sont les méthodes accessibles via le
réseau.
01 package corelib.services.web.samples.virtualcaddy.webservices;
02
03 import javax.jws.WebMethod;
04 import javax.jws.WebService;
05
06 @WebService(serviceName = "AddService", name = "Add") public class AddImpl {
07
08 @WebMethod public int add( int a, int b ) {
09 return a + b;
10 }
11
12 }
Classe "corelib.services.web.samples.virtualcaddy.webservices.AddImpl"
-
L'étape suivante consiste à définir un fichier (d'un certain point de vue, équivalent à une page Web) qui servira à définir l'adresse Internet
d'attaque du service Web. Il est préconisé que ce fichier ait l'extension
.ws
01 <?xml version="1.0" encoding="ISO-8859-1" ?>
02 <web:Service xmlns:web="corelib.services.web.webservices"
03 codeBehind="corelib.services.web.samples.virtualcaddy.webservices.AddImpl" />
Fichier "Add.ws"
-
Déployez votre application Web dans votre serveur (Tomcat, ou autre).
-
Testez le bon déploiement de service Web en invoquant une URL du genre :
http://localhost:8080/theAppName/Add.ws?wsdl. Si tout s'est
bien passé, le WSDL (Web Service Description Language) devrait vous être retourné. Maintenant, il ne vous reste plus qu'à coder un client.