Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JAVA中的Axis2中创建web服务时方法签名错误_Java_Methods_Axis2_Signature - Fatal编程技术网

在JAVA中的Axis2中创建web服务时方法签名错误

在JAVA中的Axis2中创建web服务时方法签名错误,java,methods,axis2,signature,Java,Methods,Axis2,Signature,尝试使用eclipse生成我的第一个Axis2 web服务 基本上,我开始创建动态Web项目,并使用一个简单的TestService类和一个公共方法Echo来接收字符串参数并返回它 我使用向导从这个TestService类中创建服务,这似乎没有问题。当我运行Tomcat时,我可以看到使用Echo方法的服务可用 当我尝试构建客户端时,问题就开始了。我创建了另一个java项目,称之为TestClient 然后,我选择了我的TestService.java,并选择了New>WebServices>We

尝试使用eclipse生成我的第一个Axis2 web服务

基本上,我开始创建动态Web项目,并使用一个简单的TestService类和一个公共方法Echo来接收字符串参数并返回它

我使用向导从这个TestService类中创建服务,这似乎没有问题。当我运行Tomcat时,我可以看到使用Echo方法的服务可用

当我尝试构建客户端时,问题就开始了。我创建了另一个java项目,称之为TestClient

然后,我选择了我的TestService.java,并选择了New>WebServices>WebServiceClient。对于webservice客户端,我选择了我的TestClient项目,正如预期的那样,我在我的TestClient项目中获得了两个新文件。其中之一是TestServiceStub.java

所以,问题是

生成的存根参数错误。当我试图从客户机调用Echo方法时,intellisense显示该方法的签名类似于Echocho Echo0。。。我的Echo方法应该类似于EchoString

这个参数来自哪里?我错过了什么

谢谢

更新

好吧,我解决了我的问题。我被一些糟糕的网络帖子误导了,没有再看下去。我的服务一切都很好,我只是不知道如何正确地称呼它。下面是正确调用上述客户端my service的代码:

package testserviceclient;
import java.rmi.RemoteException;
import org.apache.axis2.AxisFault;
import testpackage.TestClassStub;
import testpackage.TestClassStub.Echo;
import testpackage.TestClassStub.EchoResponse;

public class mainClass {
    public static void main(String[] args) {
        try {
           TestClassStub stub = new TestClassStub();
            Echo e = new Echo();
            e.setValue("Hello World");
            EchoResponse res = stub.echo(e);
            System.out.println("Result : " + res.get_return());
        } catch(AxisFault e) {
           e.printStackTrace();
        } catch (RemoteException e) {
           e.printStackTrace();
        }
    }
}

好我想出了解决办法。我被网上发布的一些坏例子误导了。实际上一切都很好,我只是不知道如何正确地呼叫服务。