1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 

Les web-services - Publication de services

6.6.Les descripteurs de déploiement

Afin d’utiliser des fonctionnalités avancées en terme de déploiement, vous pouvez utiliser les descripteurs de déploiement. Ce principe implémenté par Axis permet de définir les méthodes que vous souhaitez publier dans votre Web Service, le portType, l’encodage, … Ces éléments ne sont pas paramétrable lorsque vous déployez un Web Service en utilisant le principe de JWS évoqué précédemment.

Vous allez devoir utiliser des fichiers WSDD (Web Service Deployment Descriptors). Créez deux fichiers spécifiques à chacun de vos Web Services, un pour le déployer et l’autre pour le retirer.
Par convention, ces fichiers sont souvent appelés deploy.wsdd et undeploy.wsdd.

6.6.1.Déploiement

Le descripteur de déploiement est en réalité un fichier Xml étant utilisé pour déployer votre Web Service. Le WSDD doit contenir les namespaces étant utilisés afin d’assurer que celui-ci soit bien valide et correctement formé.

Ensuite vous devez définir la balise « service » en spécifiant en attribut :
  • le nom Web Service afin que celui-ci soit identifié par votre serveur d’application
  • le mode : RPC (Remote Procedure Call)
Vous devez au minium définir deux balises « parameter ».
  • Une de ces balises doit définir le nom de la classe associé au Web Service que vous souhaitez déployer. En effet, la particularité du descripteur de déploiement est de pouvoir spécifier un nom de service différent du nom de la classe décrivant son comportement.
  • La deuxième balise « parameter » permet de définir les méthodes accessibles à partir du Web Service.

Voici un exemple du fichier deploy.wsdd à créer pour le Web Service d’exemple (MyHelloWorldWS) :

<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="MyHelloWorldWebService" provider="java:RPC">
<parameter name="className" value="MyHelloWorldWS"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>

Une fois ce fichier créé, vous allez devoir l’utiliser afin de déployer votre Web Service. Pour cela vous allez devoir utiliser un utilitaire fourni par Axis appelé AdminClient. Cet utilitaire sera également utilisé lors de la procédure de retrait du Web Service.

La syntaxe à employer avec cet utilitaire est la suivante :

java –cp %axis_libs% org.apache.axis.client.AdminClient deploy.wsdd

axis_libs correspond à la variable d’environnement créé précédement qui contient le chemin vers chacun des jars disponibles dans le répertoire lib d’Axis.

Après l’exécution de la ligne ci-dessus, vous obtiendrez la réponse suivante :



Vous pouvez à présent vous rendre sur la page d’accueil d’Axis. Une fois sur la page d’accueil d’Axis, cliquez sur le lien « List » et vous aurez accès à la page suivante où vous verrez votre Web Service correctement déployé :


Cette fonctionnalité de listing des Web Services déployés n’était pas accessible en utilisant le déploiement des Web Services avec JWS.
Vous pouvez également consulter le WSDL correspondant au Web Service.

Vous pouvez vous rendre à l’URL suivante afin de verifier la présence du Web Service :
http://localhost:8080/axis/services/MyHelloWorldWebService

Vous obtiendrez alors la page suivante :




Si vous souhaitez appeler une des méthodes du Web Service, procédez comme dans le cas d’un Web Service déployé avec le principe de JWS, rajoutez le paramêtre « method » que vous affectez avec le nom de la méthode que vous souhaitez appeler.

Voici donc l’URL à saisir afin d’appeler la méthode sayHello() du Web Service étant nommé MyHelloWorldWebService :
http://localhost:8080/axis/services/MyHelloWorldWebService method=sayHello

Vous aurez ainsi accès à la page suivante qui comprend la réponse HTTP correspondante au message SOAP de retour :


6.6.2.Retrait

Le retrait de Web Service ayant été déployé avec un descripteur de déploiement est très simpliste. Vous devez créer un fichier wsdd. Nous l’appelerons undeploy.wsdd. C’est un fichier XML qui comporte une balise service avec une propriété « name » que vous devez renseigner grâce au nom du Web Service que vous souhaitez retirer.

Voici un exemple du fichier undeploy.wsdd a utiliser pour le Web Service que l’on vient de déployer :

<undeployment
xmlns="http://xml.apache.org/axis/wsdd/">
<service name="MyHelloWorldWebService"/>
</undeployment>

Une fois ce fichier créé, vous allez devoir utiliser l’utilitaire AdminClient comme vous l’avez fait pour le déploiement. La syntaxe à employer pour le retrait est exactement là même, vous n’avez que le nom du fichier wsdd à changer :

java –cp %axis_libs% org.apache.axis.client.AdminClient undeploy.wsdd

Après l’exécution de la ligne ci-dessus, vous obtiendrez la réponse suivante :




Si vous revenez sur la page de listing des Web Services déployés, vous pourrez voir que le MyHelloWorldWebService a correctement été retiré :



Si vous essayez d’accéder au Web Service directement via l’URL suivante vous obtiendrez également une erreur :
http://localhost:8080/axis/services/MyHelloWorldWebService



Vous savez maintenant comment utiliser les fichiers wsdd afin de déployer mais également de retirer un Web Service.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Essentiels de cours Java
JavaEJB 3 - Les Entreprise Java Bean version 3 (JavaBeans)
Cet essentiel est la suite de « Entreprise JavaBean 2.1 ». Cependant, nous allons étudier les nouvelles spécifications 3.0 qui simplifient énormément le développement par rapport aux EJB 2.6/20/06
JavaSWT - Créer des interfaces graphiques performantes
SWT (Standard Widget Toolkit) est une librairie graphique qui vous permet de réaliser des applications graphiques Java beaucoup plus avancées et surtout plus rapide à l’exécution.1/29/06
JavaStruts - Un framework MVC pour vos applications J2EE
Struts est un framework open-source qui vous permet de gagner du temps, mais qui permet aussi de voir des applications complexes comme une suite de composants de base : Vues, Actions, Modèles. Vous gagnez ainsi en évolutivité et en lisibilité du code.1/13/06
JavaHibernate - Persistance objet - relationnel
Cet essentiel explique comment utiliser Hibernate afin de gérer la persistance objet relationnel au sein de vos applications Java.12/14/05
JavaIntroduction J2EE - Applications d'entreprise
Cours d'introduction aux diverses technologies et outils que l'on peut rencontrer dans le monde du Java orienté entreprise J2EE12/14/05
JavaEJB 2 - Les Entreprise Java Bean (JavaBeans)
L'objectif avec EJB2 (Entreprise JavaBeans) est d'introduire les concepts de l’Ingénierie Logicielle Basée sur les Composants.12/14/05
JavaDesign Patern - Améliorez l'architecture de vos programmes
Afin de répondre a des situation récurrentes en programmation, les "design partern" apportent une solution type à beaucoup de contraintes liées à la programmation objet.12/14/05
JavaArchitecture J2EE - Comment organiser son application J2EE
Ce cours explique comment créer un code modulable, lisible et évolutif afin d'assurer la pérénité de son application.12/14/05
JavaLes web-services - Publication de services
Le développement tend vers les technologies du Web. Il est difficile de faire la distinction entre les différents logiciels qui sont de plus en plus intégrés au Web. Les Web Services rentrent dans l’optique de différencier bien précisément les couches.12/14/05
JavaAnt - L'automatisation des tâches du programmeur
Ecrire des scripts afin d'exécuter les tâches récurrentes10/31/05
JavaIntroduction au langage Java - Présentation & historique
Présentation des origines du langage, ainsi que se buts premiers8/11/05
JavaLa Syntaxe Java - Bases & nomenclatures
Bases de la syntaxe du langage Java8/11/05
JavaLes Classes - Concepts & héritage
Base du développement objet en Java grâce aux classes8/11/05
JavaLes Exceptions - Gestion d'erreurs
Gérer les erreurs liés à la programmation8/11/05

Articles
Eclipse Europa : le successeur de Callisto
Après Eclipse Callisto (Eclipse 3.2), la fondation Eclipse sort la nouvelle mouture d'Eclipse appelée Europa (Eclipse 3.3) faisant ainsi passer le nombre de projets embarqués de 10 à 21. Que ceux qui sont réticents aux « distributions » d'Eclipse se rassu12/21/07
JavaCruiseControl : l’outil d’intégration continue à avoir dans sa boite à outils
CruiseControl est un projet open-source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans7/2/07
JavaEJB3 - Des concepts à l'écriture du code - Editions DUNOD
Consulter le résumé du premier ouvrage du laboratoire Sun de SUPINFO : EJB3 - Des concepts à l'écriture du code. Guide du développeur, éditions DUNOD.5/27/07
JavaPassage de certification Java Web (SCWCD)
Passer une certification est toujours un moment important car cela permet de mieux faire reconnaître ses compétences face à un recruteur ou un employeur.5/12/07
JavaGoogle Web Toolkit
Google Web Toolkit est un framework java pour générer du javascript et des requêtes Ajax à partir d’un code java. Voilà comment il fonctionne.5/10/07
JavaJ2ME Vs SDE
Demain, les terminaux « légers » seront plus nombreux que les ordinateurs personnels, ce qui entraîne une bataille sur le choix d’une plateforme identique à tous ces terminaux… Aujourd’hui nous retrouvons le J2ME ainsi que le SDE qui s’offrent une rude b4/22/07

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée