J'ai un problème avec une classe de stub.

Voici le message d'erreur:

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;
^
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.

Aussi, voici les fichiers qui doivent poser problème:

SimpleServiceClient.java
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();
    }
  }
}
config-client.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>
service-config.xml

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>
Ce fichier crée le fichier SimpleService.wsdl grâce à wscompile.
J'ai exécuté cette commande:

%J2EE_HOME%\bin\wscompile -gen:client -d stubs -classpath . client-config.xml
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

Ensuite j'ai exécuté cette commande:

javac -classpath %classpath%;stubs -d . client/*.java
Cela m'a permis d'ajouter les classes du stub.

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!