[Java] Axis2 et Web Service, Partie 1

Comme certains développements sont un peu en suspend, nous cherchons des solutions pour améliorer l’échange d’informations entre deux serveurs reliés par une connexion assez lente. En attendant de se voir augmenter la vitesse, nous avons testé Axis2, qui est un projet officiel d’Apache. Mais que cache ce nom plutôt étrange?

Déployez vos Webservices

Axis2 est un moteur permettant de gérer des Web Services et leurs WSDL (description du service, des méthodes de celui-ci et des types utilisés). La version 1.6.1. sera utilisée pour expliquer les différentes étapes. Comme le tout est en état d’expérimentation, c’est article sera basique, et détaillera uniquement les opérations qui ont été effectuées jusqu’à présent, sans rentrer dans les détails d’administration. Pour déployer le service, c’est le logiciel NetBeans 7.0.1. qui a été retenu.

Version utilisée

Au niveau des versions du serveur, il n’y a rien de très glorieux. En effet, Apache Tomcat 5.5. s’exécute sur un JRE 1.5, mise à jour 7. Il a donc fallu s’adapter et télécharger le JDK équivalent pour s’assurer qu’il n’y ait aucune erreur ! Celui-ci a été intégré dans l’ IDE via l’option « manage platforms« .

Enfin, la base de données exploitée est DB2 UDB pour AS/400 (V5R3) et l’accès se fait grâce aux modules JDBC fournis dans « Java Toolbox« , qu’on peut retrouver ici : télécharger la dernière version de JTOpen. Une fois l’archive sélectionnée, elle peut être décompressée dans un dossier quelconque sur la machine de développement et dans le dossier « ext » des classes du JRE (Javajre1.5.0_07libext).

Installation d’Axis2 sur Tomcat

Pour installer Axis2, une méthode du tutoriel officiel a été suivie. Elle consiste à placer l’archive « war » dans le dossier d’applications d’Apache, puis de redémarrer le serveur pour que l’installation se fasse automatiquement. Une fois cette opération effectuée, on obtient un sous-répertoire « axis2 » dans notre dossier « webapps ».

Cliquez ici pour télécharger l’archive de la version 1.6.1. (note : la v1.6.2. est disponible depuis avril 2012). Elle contient le fameux fichier de type « war » qu’on va placer dans notre dossier « webapps » (voir image).

Ensuite, on peut redémarrer Apache Tomcat. L’installation d’Axis 2 devrait avoir été effectuée. On peut donc ouvrir notre navigateur et parcourir la page http://localhost:8080/axis2 (par défaut). On devrait obtenir quelque chose de similaire :

En cliquant sur le lien « Validate« , on obtient un diagnostic qui nous informe de l’état de notre installation. Si toutes les dépendances ont été trouvées alors on devrait normalement obtenir une page sans aucun message rouge.

Cependant, il se peut qu’on obtienne le message suivant: « There was a problem in Axis2 version service , may be the service not available or some thing has gone wrong. But this does not mean system is not working ! Try to upload some other service and check to see whether it is working ».

Le mieux à faire est de tester le web service fourni avec Axis2 pour voir s’il fonctionne : http://localhost:8080/axis2/services/Version. On doit normalement obtenir un message qui indique la version utilisée, similaire à celui-ci :

Le mot de passe et le nom d’utilisateur peuvent être modifiés dans le fichier « axis2.xml ». Les paramètres concernés sont « userName » et « password« .

Configuration sous NetBeans

Dans notre cas, le serveur est distant, mais cela ne pose aucun problème pour déployer les services via Axis2. Cependant, de base NetBeans n’est pas capable de le faire car le plugin (module supplémentaire) n’est pas installé par défaut, puisque uniquement disponible dans le dépôt de développement. Nous allons voir ensemble quelles sont les étapes à effectuer pour pouvoir développer et déployer les services via l’ IDE. 

Ajouter le serveur Apache

A moins que vous n’ayez déjà installé un serveur en local, il est encore possible d’en ajouter un vous-même, via l’onglet « Services » du logiciel. Un clic-droit sur la catégorie « Serveurs » fait apparaitre un menu avec une seule option : « Ajouter un serveur… » (ou en anglais, « Add server…« ). On clique alors sur celle-ci, pour obtenir une nouvelle fenêtre dans laquelle il est demandé de saisir quelques informations.

  • Choisissez le type : dans notre cas, il s’agit d’ Apache Tomcat 5.5.
  • Emplacement du serveur : c’est le dossier où a été extrait/installé Tomcat (par exemple, C:\Tomcat-5.5, voire un chemin UNC).
  • Nom d’utilisateur et mot de passe : il faut que l’utilisateur que l’on saisisse ait le rôle « manager« . On peut vérifier cela dans le fichier « tomcat-users.xml » du répertoire « conf« .

Pour nos tests, nous n’avons pas besoin de la fonction de démarrage ou d’arrêt du serveur. Ne vous inquiétez pas si vous obtenez un message d’erreur indiquant que les scripts batch n’existent pas. 

Télécharger le plugin Axis2

  • Effectuer les mises à jour de Netbeans avant de procéder.
  • Après redémarrage de l’EDI, sélectionnez le menu « Outils » puis « Plugins« .
  • Dans l’onglet « Paramètres« , cliquez sur « Ajouter » pour créer un dépôt.
  • Pour le nom, on peut utiliser « Development UC ».
  • Pour l’adresse (URL), il faut saisir le lien suivant : http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastStableBuild/artifact/nbbuild/nbms/updates.xml.gz
  • Une fois le dépôt ajouté, il faut se rendre dans l’onglet « Plugins disponibles » et recharger le catalogue. Ensuite, une recherche avec le mot-clé « axis2 » permettra de trouver rapidement ce que l’on cherche.
  • Il suffit de cocher le plugin qui nous intéresse puis de cliquer sur « Installer« , et le tour est joué.
  • Ne pas installer les deux mises à jour suivantes proposées par NetBeans car cela pourrait rendre l’installation instable.
  • Désactiver le dépôt pour s’assurer qu’aucune mise à jour de type “développement” ne viendra s’ajouter par la suite.

Alternative pour l’installation

Si le dépôt ne répond pas, une autre solution consiste à télécharger le plugin sous forme de fichier portant l’extension “.nbm”.

Sauvegardez ce plugin n’importe où sur votre ordinateur, ensuite lancez l’EDI et rendez-vous dans le menu “Tools” puis “Plugins”, comme dans l’étape précédente. La différence est que vous devez vous rendre dans l’onglet “Downloaded”. Cliquez ensuite sur le bouton “Add Plugins” afin d’ouvrir une nouvelle fenêtre dans laquelle vous choisirez le fichier précédemment téléchargé.

Une fois le fichier lu, il ne vous reste plus qu’à cliquer sur le bouton “Install”, accepter les termes de la licence et le tour est joué !

Configuration du plugin

Dans les options de votre éditeur Netbeans, un nouvel onglet “Axis2” apparait si le module a bien été installé. Il faut y définir trois choses :

  • L’emplacement du dossier Axis, dans lequel on retrouve « WEB-INF », un sous-dossier contenant nos services déployés. Pour nous, il s’agit de : …Tomcat 5.5webappsaxis2.
  • L’URL d’Axis2 : par défaut, il s’agit de http://localhost:8080/axis2
  • Le nom d’utilisateur et le mot de passe pour se connecter à Tomcat Manager. Il est bien sûr recommandé d’utiliser ce dernier, donc on peut cocher la case. Attention: l’utilisateur doit posséder le rôle « manager » sur le serveur, sans quoi cela risque de ne pas fonctionner !
Attention : à partir de Netbeans 7.4, lorsqu’on sauvegarde les paramètres, les options définies dans l’onglet Axis2 ne sont pas sauvegardées. En fait, Netbeans ne crée pas le fichier de configuration du module et donc, à chaque fois, on se retrouve avec les options par défaut. Pour pallier ce problème, il faut effectuer les manipulations suivantes (pour Windows 7 et 8) :

  • Se rendre dans : %USERPROFILE%\AppData\Roaming\NetBeans7.4configPreferencesorgnetbeansmodules.
  • Créer un sous-dossier “websvc”.
  • Créer un fichier “axis2.properties”.
  • Ajouter les propriétés suivantes (doubler les slashs pour le répertoire de déploiement) :

AXIS_DEPLOY=
AXIS_URL=
TOMCAT_MANAGER_PASSWORD=
TOMCAT_MANAGER_USER=

Créer notre premier Webservice

Nous verrons comment créer un service dans la partie 2 de cet article. En attendant, si vous avez un problème de configuration, n’hésitez pas à partager vos soucis, peut-être pourrons-nous les résoudre ensemble.

Le tutoriel « Creating Apache Axis2 Web Services on NetBeans IDE » a servi de source, comme beaucoup d’autres sites. En effet certaines parties de cet article pointent vers diverses documentations très riches. Si vous ne les avez pas remarqués, vous pouvez partir à leur recherche.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *