1、定义一个简单的POJO-SimpleService.java
public class SimpleService{
public String getName(String name) {
return "你好 " + name;
}
public int getAge(){
return (int)(Math.random()*100);
}
}
编译成功之后,将class文件复制到”webapps/axis2/WEB-INF/pojo”目录下。
这样,就成功将SimpleService发布成了webService。(只有public方法才能发布成webservice)
2、检查发布是否成功
http://localhost:8080/axis2/services/listServices
3、测试webService
http://localhost:8080/axis2/services/SimpleService/getAge
http://localhost:8080/axis2/services/SimpleService/getName?arg0=tom
4、自动生成客户端调用WebService
每发布一个webService程序,就会相应的产生一个对应的wsdl文件:
http://localhost:8080/axis2/services/SimpleService?wsdl
使用axis2自带的命令 wsdl2java 根据wsdl文件自动生成调用webService的代码:
%AXIS2_HOME%\bin\wsdl2java -uri
http://localhost:8080/axis2/services/SimpleService?wsdl -p etoak -s -o client
-url参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径
-p参数指定了生成的Java类的包名
-o参数指定了生成的一系列文件保存的根目录
执行完命令后,在当前目录下生成了一个client目录,在client/src/etoak目录下找到一个文件:SimpleServiceStub.java。这个文件负责调用webService。
5、使用客户端程序
public class StubClient {
public static void main(String[] args)throws Exception {
SimpleServiceStub stub = new SimpleServiceStub();
SimpleServiceStub.GetName getName = new SimpleServiceStub.GetName();
getName.setArgs0("charles");
System.out.println(stub.getName(getName).get_return());
System.out.println(stub.getAge().get_return());
}
}