Axis2 Hello World - 找不到符号setParam0

时间:2009-08-24 15:48:50

标签: tomcat axis2

我正在尝试使用Axis2 v1.5,Tomcat6和Java 1.6开发一个简单的Hello World Web服务,根据以下tutorial

但是,我在客户端代码编译中遇到错误:

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

返回

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");

正如您所看到的,我对原始教程进行了一些更改,但是,即使完全按照说明操作,我仍会遇到相同的错误。

我还尝试使用旧版Java和javac的-source 1.3和-target 1.3参数,但问题仍然存在。

有什么想法吗? 对于一个简单的教程,这个废话给我带来了很多麻烦......

提前干杯和谢谢

4 个答案:

答案 0 :(得分:2)

教程有拼写错误,应该是setValue,而不是setParam0,如:

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

答案 1 :(得分:1)

我也一直试图让这个工作,并使用jd-gui或jad我发现在临时目录SimpleServiceStub$Echo类有这个方法:

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

    this.localArgs0 = paramString;
}

Client.java的基础上,您应该使用setArgs0("hello world");

答案 2 :(得分:0)

使用此声明:request.setArgs0("Hello World");

答案 3 :(得分:0)

我同意Mark,这是一个教程错字。教程ws方法是:

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

所以关联的客户端指令应该是: request.setValue(“我的参数值”);

基本上,如果Web服务方法是:

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

关联的客户端调用将是: request.setWhatever(“我的参数值”);