Exercices « Web Services Java » 5 Robert Voyer
Déploiement des Services Web « Axis »
Exercices illustrant le déploiement des Services Web sous Axis.
Dans les précédents exercices, nous avons mis en œuvre un mode de déploiement entièrement
pris en charge par « Axis ». Ce mode automatique de déploiement présente les contraintes
suivantes :
Nécessité de disposer des sources des classes dont on veut définir le ou les services. En effet,
le mode de déploiement automatique d’Axis travaille sur le source des classes Java
Impossibilité de décrire (en l’état actuel du système « Axis », mais cela pourrait évoluer par
l’introduction de méta-données dans le source des classes) des particularités de déploiement.
Ce sont pour ces raisons, que nous devons parfois réaliser un déploiement explicite. Cela
implique la définition d’un fichier particulier, appelé descripteur de déploiement du service
web.
Ce fichier porte l’extension « wsdd » pour Web Service Deployment Descriptor.
Exercice Deploiement1 : un premier déploiement simple
Nous allons reprendre l’exercice « Service1 » qui retourne la chaîne de caractères « Hello
World » et lui définir un descripteur de déploiement.
Avant de commencer, créer un nouveau dossier de travail et placez-y la définition java de
votre futur service, à savoir « HelloWorld.java ».
Etape 1 : compilation de la classe du service
La première étape consiste à compiler la classe que vous avez définie. Pour ce faire dans une
fenêtre Dos ou Shell, vous tapez : javac HelloWorld.java.
A l’issue de cette étape, vous devrez avoir dans votre dossier de travail, un nouveau fichier
« HelloWorld.class ».
Etape 2 : définition du descripteur de déploiement
Le descripteur de déploiement doit être placé dans le même dossier que le « .class »
définissant le service. Appelons ce descripteur « deploy.wsdd ». Son contenu sera
minimalement celui-ci :
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloService" style="RPC">
<parameter name="className" value="HelloWorld"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
Expliquons les différents éléments :
Balise de début avec comme attributes les espaces de noms des balises mises en oeuvre
dans un descripteur de deployment.
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
Le nom d’invocation du service, avec le mode, ici “RPC”. Ce sera le principal mode
que nous mettrons en oeuvre.