J'ai un problème avec une classe de stub.
Voici le message d'erreur:
Apparemment, cette classe de stub SimpleService_Impl.class n'est pas dans la bonne version. Cependant, on m'a indiqué qu'il fallait que je recompile avec java 1.4, hors je ne comprends pas, car c'est ce que j'utilise. Exactement, j'utilise j2eesdk-1_4_02_2005Q2-windows-ml et j2sdk-1_4_2_19-windows-i586-p, donc je ne vois pas comment cela ne marche pas.D:\J2EE\Ch12\SimpleServiceApp>javac -classpath %classpath%;stubs -d . client/*.java
client/SimpleServiceClient.java:4: cannot access webservices.SimpleService_Impl
bad class file: stubs\webservices\SimpleService_Impl.class
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
import webservices.SimpleService_Impl;
^
Aussi, voici les fichiers qui doivent poser problème:
SimpleServiceClient.java
config-client.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package client; import webservices.SimpleServiceIF; import webservices.SimpleService_Impl; import javax.xml.rpc.Stub; public class SimpleServiceClient { public static void main(String[] args) { try { Stub stub = (Stub) (new SimpleService_Impl().getSimpleServiceIFPort()); SimpleServiceIF myProxy = (SimpleServiceIF)stub; System.out.println("Service joint !"); // Boucle sur les mots for (int i = 0; i < args.length; i++) { String returnedString = myProxy.getEchoString(args[i]); System.out.println("Chaine envoyee : " + args[i] + ", chaine retournee : " + returnedString); } } catch(Exception e) { e.printStackTrace(); } } }
service-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <wsdl location="http://localhost:8080/simple-jaxrpc/simple?WSDL" packageName="webservices"/> </configuration>
Ce fichier crée le fichier SimpleService.wsdl grâce à wscompile.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config"> <service name="SimpleService" targetNamespace="urn:simpleService" typeNamespace="urn:simpleService" packageName="webservices"> <interface name="webservices.SimpleServiceIF"/> </service> </configuration>
J'ai exécuté cette commande:
Cette commande lit le fichier client-config.xml ainsi que le WSDL du service Web. Une fois cette commande exécutée, les classes du stub sont placées dans le dossier stubs\webservices%J2EE_HOME%\bin\wscompile -gen:client -d stubs -classpath . client-config.xml
Ensuite j'ai exécuté cette commande:
Cela m'a permis d'ajouter les classes du stub.javac -classpath %classpath%;stubs -d . client/*.java
Je pense que j'ai pas la bonne version de java, peut-être que c'est la version 1.5, mais je ne sais pas trop et du coup à la compilation, cela ne marche pas.
J'avoue que je ne vois pas trop ce que je peux faire, merci d'avance.
mumu27!
Partager