Classe org.apache.axis.wsdl.WSDL2Java introuvable

Résolu/Fermé
chercheur2017 Messages postés 56 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 16 décembre 2018 - 2 mai 2017 à 12:45
chercheur2017 Messages postés 56 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 16 décembre 2018 - 7 mai 2017 à 10:37
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

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
2 mai 2017 à 18:34
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.
0
chercheur2017 Messages postés 56 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 16 décembre 2018 4
3 mai 2017 à 10:14
Bonjour KX, et merci pour ta réponse.

Tout à fait. Je ne suis pas dans le répertoire qui contient WSDL2Java.class. En fait, j'ai suivi un tutoriel et ça marche pour eux (sans avoir spécifié le chemin). En plus, dans mon cas j'ai déclaré toutes les variables d'environnement sous Windows (CLASSPATH, PATH et JAVA_HOME) au préalable; normalement je n'ai pas à le refaire à chaque fois sur la console en utilisant "set CLASSPATH=xxxxx" par exemple (quoi que j'ai essayé cette solution avec mon propre programme très simple et ça marche bien).
En fait, ce n'est pas moi qui ai créé cette classe "WSDL2Java.class". Elle se génère automatiquement lors de la création d'un service web sous Axis. j'ai fait une recherche et je ne la trouve nul part !! tout ce que je trouve c'est un fichier de type "Chrome HTML Document" qui possède ce nom (WSDL2Java)!!!!

merci encore :)
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
3 mai 2017 à 13:25
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
0
chercheur2017 Messages postés 56 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 16 décembre 2018 4 > KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024
3 mai 2017 à 13:37
merci,
je vais suivre tes conseils et voir ce que je peut obtenir :)
0
chercheur2017 Messages postés 56 Date d'inscription mardi 18 avril 2017 Statut Membre Dernière intervention 16 décembre 2018 4 > KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024
Modifié le 3 mai 2017 à 15:17
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
0
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
Modifié le 3 mai 2017 à 18:58
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
0