在JAVA中的Axis2中创建web服务时方法签名错误
尝试使用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的代码:在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
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();
}
}
}
好我想出了解决办法。我被网上发布的一些坏例子误导了。实际上一切都很好,我只是不知道如何正确地呼叫服务。