Classe org.apache.axis.wsdl.WSDL2Java introuvable [Résolu/Fermé]

Signaler
Messages postés
57
Date d'inscription
mardi 18 avril 2017
Statut
Membre
Dernière intervention
16 décembre 2018
-
Messages postés
57
Date d'inscription
mardi 18 avril 2017
Statut
Membre
Dernière intervention
16 décembre 2018
-
Bonjour,

j'espère que je poste dans la bonne section.

Je suis débutant dans le domaine des services web. J’ai créé mon premier service web (somme de deux entiers) en utilisant axis1.4 et Tomcat6.0. je l’ai déployé et je l’ai testé et ça fonctionne très bien. Mais, au moment de sa consommation en java (j'utilise la version 1.8.0_121) permettant la génération automatique de la définition du Proxy côté client, je me trouve confronté à un problème notamment au moment de l’utilisation du générateur « WSDL2Java » : lorsque je tape sur la console la commande "java org.apache.axis.wsdl.WSDL2Java sommer.wsdl", j’obtiens l’erreur suivante :
« Erreur : impossible de trouver ou charger la classe principale org.apache.axis.wsdl.WSDL2Java ».

Prière de me proposer vos solutions.

Merci :)

1 réponse

Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021
2 797
Bonjour,

Où es tu lorsque tu fais ta commande ?

Tu devrais normalement être dans le dossier qui contient le package "org" qui contient lui même "apache", "axis", "wsdl" et enfin le fichier WSDL2Java.class

Si ce n'est pas le cas il faut que tu rajoutes à ta commande java une option de classpath pour qu'il sache où charger cette classe et ses dépendances.
Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021
2 797
set CLASSPATH=xxxxx normalement ne sers à rien.

Lorsque je parle de classpath à rajouter à la ligne de commande je pense à l'option
-cp
qui permet de faire référence à des répertoires de classes, ou des jars, dont tu as besoin pour compiler/exécuter ton programme.

Par exemple, si WSDL2Java.class et sommer.wsdl sont dans des arborescences distinctes il faudra indiquer où sont chacun des répertoires qui les contiennent (par défaut le classpath est le répertoire courant)

Pour éviter ces problèmes de classpath et de dépendances (classes qui manquent etc.) on peut utiliser des outils qui font ça très bien, par exemple avec Maven.

Axis 1 : http://axis.apache.org/axis/java/maven/wsdl2java/
Axis 2 : http://axis.apache.org/axis2/java/core/tools/maven-plugins/axis2-wsdl2code-maven-plugin/

Voir éventuellement Débuter avec Maven
Messages postés
57
Date d'inscription
mardi 18 avril 2017
Statut
Membre
Dernière intervention
16 décembre 2018
1 >
Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021

merci,
je vais suivre tes conseils et voir ce que je peut obtenir :)
Messages postés
57
Date d'inscription
mardi 18 avril 2017
Statut
Membre
Dernière intervention
16 décembre 2018
1 >
Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021

salut,

j'ai consulté les deux liens que tu a cité mais je n'ai pas compris grand chose. je suis débutant dans tous ça!! faut-il installer quelque chose ou bien il faut juste exécuter des commandes!!! (j'ai déjà installé maven sur ma machine, mais je ne sais pas encore comment l'utiliser).

je vais exposé mon problème autrement.
pour tester java, j'ai créer un très simple programme (BonjourLeMonde).pour cela, j'ai écrit le code sur bloc note et j'ai enregistré sous le nom "BonjourLeMonde.java dans mon répertoire "C". dans la console, je me place dans le répertoire "C" et je compile avec "javac BonjourLeMonde.java" et ça marche très bien (le fichier BonjourLeMonde.class est généré). j'essaye maintenant d'exécuter avec "java BonjourLeMnde" et j'obtiens l'erreur " impossible de trouver ou charger la classe principale BonjourLeMonde". je tape "set CLASSPATH=c:\", je ré exécute et ça marche très bien!!!

dans cet exemple on a tout (fichier ".java" et fichier ".classe") mais ça ne marche pas du premier coup. déjà il faut régler le problème pour ce cas simple.
concernant WSDL2Java, on n'a même pas le fichier ".class", on essaye de générer du java à partir de WSDL.

j'espère étais plus claire.

merci
Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021
2 797
Le plus simple serait de partir sur un projet Maven, parce que outre la seule partie Axis (qui est déjà assez costaud) tu as aussi le serveur Tomcat, etc.
Et Maven facilite un peu tout à toutes les étapes... et pas seulement pour ce projet mais tout les projets que tu pourrais faire à l'avenir.

Tu as un tutoriel qui semble faire exactement ce qu'il te faut :
http://maksim.sorokin.dk/it/2011/01/13/axis2-maven-servlets-tomcat/
NB. Il y a un zip à télécharger à la fin avec tout le code qu'il présente.

À mon avis ça peut encore se simplifier pas mal (notamment en utilisant un plugin Maven pour Tomcat) mais si tu veux aller plus loin tu peux regarder ici :
http://ssagara.blogspot.com/2012/02/axis2-archetype-to-create-web.html
Messages postés
57
Date d'inscription
mardi 18 avril 2017
Statut
Membre
Dernière intervention
16 décembre 2018
1 >
Messages postés
16251
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 février 2021

Merci KX,

Les liens que tu m'a envoyé semblent très intéressant; je les prendrai en comptes pour mes prochains projets(j'avais déjà installé Maven sur ma machine).
Pour le problème que j'ai posé, tu sais qu'il rentre dans le contexte des services web et je l'ai réglé d'une autre manière!! En fait, je me suis penché vers une autre alternative pour créer et consommer mon service avec Java ; j'ai utilisé Eclipse pour ça, j'ai rencontré certains problèmes mais je les ai réglé et ça marche très bien.

Merci encore pour ton aide.