Installation d'Axis2 et déploiement service

Résolu/Fermé
wifsimster Messages postés 20 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 mai 2009 - 27 mars 2009 à 10:19
 power7 - 10 mai 2012 à 11:31
Bonjour à tous et à toutes,

Je suis entrain de complètement péter un câble sur le déploiement de web service sous Axis 2.

1.Introduction.

Je dois développer un web service pour un projet de fin d'année.
Je programme sous NetBeans, mon serveur installé est Apache avec Tomcat comme conteneur de servlets.
Et mon grand problème est Axis2 qui m'est imposé car je dois est conforme SOAP/XML.

2.Installation.

Mon problème réside dans l'installation de Axis2 et dans le déploiement de mon service.
Je suis sous Windows Vista et les tutoriaux sous rares et très mal documentés.
J'aimerai donc quelques précisions sur l'installation d'Axis (le fichier .war) dans Tomcat, où l'installer, comment il doit être répertorié une fois installé dans Tomcat...

3.Déploiement.

Mon deuxième problèmes est le déploiement de mon web service via NetBeans, en consultant le tutorial de chez NetBeans un problème se présente.
Lorsque je déploie mon service, Axis2 se désinstalle ...
J'aimerai donc tout d'abord faire une installation propre d'Axis2, puis comprendre comment déployer mon service sous NetBeans.

Tout aide à ma compréhension sera la bienvenue, merci ;)
A voir également:

8 réponses

C'est avec Axis que j'avais testé ça, mais comme la fonction existe également dans Axis2, je suppose que tu peux l'utiliser de la même manière que je l'ai fait. Je te mets ce que j'ai fait pour Axis j'espère que tu arriveras à y voir plus clair ^^'

• axis.jar
• axis-ant.jar
• commons-discovery-0.2.jar
• commons-logging-1.0.4.jar
• jaxrpc.jar
• log4j-1.2.8.jar
• saaj.jar
• wsdl4j-1.5.1.jar

Ces librairies doivent être incluses dans ton projet .
Il faut aussi que la librairie activation.jar soit présente dans le dossier C:\tomcat\webapps\axis\WEB-INF\lib et C:\Program Files\Java\jre1.5.0_11\lib\ext .

Pour créer les classes du client, tu dois ouvrir l’invite de commande WINDOWS,te placer dans le dossier dans lequel tu veux retrouver ces classes (Remarque que ce dossier n’est pas de la plus grande importance puisque tu vas de toute manière déplacer ces classes pour les mettre dans dans ton projet) et taper la commande suivante :
java -classpath C:\chemindujar1/jar1.jar;C:\chemindujarX.jar org.apache.axis.wsdl.WSDL2Java AdresseDuWSDL

Voilà, donc tu inclus dans la commande le chemin de toutes tes librairies axis (je sais .. c'est un peu/beaucoup lourd à faire)

Une fois quetu as validé cette commande, vérifie qu’un dossier a bien été créé à l’endroit désiré, ce dossier porte le nom du package auquel les 4 classes générées appartiennent.
Parmi ces quatre classes, on retrouve :
• Interface NomDeVotreWebServicePortType qui contient la signature des méthodes que vous avez écrites dans votre service web.
• Classe NomDeVotreWebServiceHTTPBindingStub qui implémente l’interface ci-dessus et qui, entre autre, reprend le code des méthodes que vous avez écrites (ne pas oublier que ce code est issu du fichier WSDL, vous ne retrouvez évidemment pas votre propre code à l’intérieur).
• Interface NomDeVotreWebService qui contient, entre autres, la signature des méthodes permettant de localiser où chercher le web service.
• Classe NomDeVotreWebServiceLocator qui implémente l’interface ci-dessus. On retrouve l’adresse du fichier wsdl du web service dans l’attribut NomDeVotreWebServiceHttpPort_address. Les autres méthodes servent notamment à obtenir l’adresse du web service, les ports etc…

Pour appeler le web service, il te faut écrire une classe d’exécution. Afin de tester simplement, j’ai moi-même fait une simple classe Main.

Tout d’abord, il est nécessaire de faire des imports :
• import javax.xml.rpc.ServiceException
• import java.rmi.RemoteException
Ces deux imports sont nécessaires puisque des exceptions peuvent survenir avec l’utilisation d’un web service, RemoteException et ServiceException.

Il faut d’abord déclarer le web service en lui donnant comme type une localisation. Il faut ensuite déclarer un port, pour savoir exactement où trouver le web service que vous désirez utiliser. Une fois ceci fait, tu peux utiliser les méthodes du web service, grâce au port que vous avez déclaré.

Je me suis servie de ce site là pour faire mon main : https://karamimed.developpez.com/j2ee/tutoriels/axis/#LV-B

J'espère vraiment que ça pourra t'aider, je n'ai pas le temps de vérifier ça sous Axis2, je me suis dirigée vers un nouvel outil : CXF, j'essaie de le mettre en place là.

Fais moi savoir si tu as réussi à le faire !
1
wifsimster Messages postés 20 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 mai 2009
7 mai 2009 à 15:54
J'ai fais autrement (plus simple je trouve).

Je suis resté sur mon IDE (NetBeans). J'ai généré un projet Web Service et je le déploies directement sous Tomcat via NetBeans.

J'arrive à générer un client à partir de WSDL2JAVA via mon IDE pour des exemples simples.

Il ne me reste plus qu'à trouver comme implémenter mon moteur sans erreur au Build =D

Merci encore pour ton aide ;)
0
Salut, je ne sais pas si tu as trouvé une réponse à ta question concernant l'installation d'Axis2, au cas où : tu dois mettre ton fichier axis2.war dans le dossier webapps de tomcat, tu lances tomcat et hop, il crée tout seul le dossier axis2.
Tu vérifies ensuite l'installation via http://localhost:8080/axis2
C'est comme ça que j'ai fait. Concernant le déploiement, j'suis autant en galère que toi ^^'
0
moi-mème j'ai fait de mème que Kir59 pour l'installation et ça marche parfaitement. Je suis également bloqué pour le déploiement.
0
wifsimster Messages postés 20 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 mai 2009
5 mai 2009 à 17:04
Merci, j'arrive à faire ça également mais la suite pour l'exécution du fichier XML lors de l'invocation d'une méthode du service d'exemple d'Axis 2 (version) ...

Il me retourne l'erreur suivante lorsque je rentre l'url : http://localhost:8080/axis2/services/Version?method=getVersion


<soapenv:Text xml:lang="en-US">
The endpoint reference (EPR) for the Operation not found is /axis2/services/Version?method=getVersion and the WSA Action = null
</soapenv:Text>
0
Je n'ai jamais essayé d'accéder à la méthode de cette manière. Personnellement j'utilise juste le WSDL.

J'ai essayé d'accéder à l'adresse que tu as donné, ça ne fonctionne pas non plus chez moi ^^'

Désolée :S
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wifsimster Messages postés 20 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 mai 2009
7 mai 2009 à 09:25
Et tu utilises comment ton wsdl stp ?
0
J'utilise la fonction WSDL2Java pour construire le client ^^ (enfin ça te génère 4 classes, il te reste à faire le main au final :))
0
wifsimster Messages postés 20 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 7 mai 2009
7 mai 2009 à 09:46
Tu pourrais m'expliquer plus amplement, j'ai déjà parcouru quelques manuels sur wsdl2java.

J'ai même essayé d'utiliser soapUI sous NetBeans mais il me retourne une erreur ...
0
Okay, j'suis contente si j'ai pu t'aider ;) Bonne continuation
0
Knuckles59 Messages postés 74 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 29 octobre 2010 7
11 mai 2009 à 20:54
Bonsoir a tous !

Voila j'expose mon pb.
je développe actuellement un petit logiciel en J2me pour un restaurant.
Mon programme et en J2me et je suis en train actuellement de creer mon Web Service.

Le pb c que je n'est jamais vu le J2me je suis débutant et je coince un peut, jaimerais réussir a requêter la base et ca ne fonctionne pas bien.

Si quelqu'un a une ame charitable et veut bien me consacré un peut de temp voici mon adresse mail :

sawkiller666@hotmail.fr ou Knuckles-no-life@hotmail.fr

Je lui donnerai le travail que j'ai accompli jusque mtn, il faudrait juste m'aider a requêter cette base ! ^^

Cordialement et merci de l'aide que vous pourriez m'apporter.
0