2009-08-24 7 views
0

J'essaie de développer un service Web Hello World simple en utilisant Axis2 v1.5, Tomcat6 et Java 1.6, selon le tutorial suivant.Axis2 Hello World - impossible de trouver le symbole setParam0

Cependant, je reçois une erreur dans la compilation de code côté client:

javac -extdirs C:\\axis2-1.5 org/apache/axis2/*.java -d temp/ 

retours

code\src\org\apache\ws\axis2\Client.java:13: cannot find symbol 
symbol : method setParam0(java.lang.String) 
location: class org.apache.axis2.TempStub.Echo 
     request.setParam0("Hello world"); 

comme vous pouvez le voir, je l'ai fait quelques changements au tutoriel original, cependant, même après avoir suivi les instructions exactement je reçois toujours la même erreur.

J'ai également essayé d'utiliser une ancienne version de Java avec les paramètres -source 1.3 et -target 1.3 pour javac, mais le problème persiste.

Des idées? Pour un tutoriel simple, cette merde m'a donné des maux de tête lotta ...

Vive et merci à l'avance

Répondre

2

Le tutoriel a une faute de frappe, il devrait être setValue, non setParam0, comme dans:

 HelloWorldStub.Echo request = new HelloWorldStub.Echo(); 
     request.setValue("My Parameter Value"); 
0

Utilisez cette instruction: request.setArgs0("Hello World");

0

Je suis d'accord avec Mark, qui est une faute de frappe tutoriel. La méthode ws tutoriel a été:

public String echo(String value) { 
    return value; 
} 

si l'instruction client doit être associé: request.setValue ("Mon paramètre Valeur");

En fait, si la méthode de service Web est:

public String echo(String whatever) { 
    return whatever; 
} 

l'appel client associé serait: request.setWhatever ("Mon paramètre Valeur");

1

J'ai aussi essayé d'obtenir que cela fonctionne et en utilisant jd-IUG ou jad je trouve que dans le répertoire temp la classe SimpleServiceStub$Echo a cette méthode:

public void setArgs0(String paramString) 
{ 
    if (paramString != null) 
    { 
     this.localArgs0Tracker = true; 
    } 
    else this.localArgs0Tracker = true; 

    this.localArgs0 = paramString; 
} 

Sur la base de cela dans votre Client.java vous devrait utiliser setArgs0("hello world");

Questions connexes