java axis2小实例_Axis2开发实例

2.将②axis2-1.7.4-war.zip解压后得到的axis2.war文件放到Tomcat下的webapps目录下,重启Tomcat访问http://localhost:8080/axis2/可看到内容;

4.新建web project,名为Axis2Service,新建student类:

packagecn.lxc.bean;importjava.io.Serializable;public class Student implementsSerializable{private static final long serialVersionUID = 4634408543522196927L;private intid;private intnumber;privateString name;privateString tel;privateString address;publicStudent() {

}public Student(int id, intnumber, String name, String tel, String address) {this.id =id;this.number =number;this.name =name;this.tel =tel;this.address =address;

}public intgetId() {returnid;

}public void setId(intid) {this.id =id;

}public intgetNumber() {returnnumber;

}public void setNumber(intnumber) {this.number =number;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}publicString getTel() {returntel;

}public voidsetTel(String tel) {this.tel =tel;

}publicString getAddress() {returnaddress;

}public voidsetAddress(String address) {this.address =address;

}

}

创建MyService类,用于发布webservice服务:

packagecn.lxc.service;importjava.util.Arrays;importcn.lxc.bean.Student;public classMyService {publicString getGreeting(String name){return "您好,"+name+"!";

}publicString addStudent(Student stu){if(null !=stu)return "您好,"+stu.getName()+"!";else

return "student is null!";

}publicStudent queryStudent(){

Student stu= new Student(111111, 20170302, "刘新成", "18810464513", "北京");returnstu;

}publicString addStudents(Student[] students){if(null !=students)returnArrays.toString(students);else

return "students is null";

}publicStudent[] queryStudents(){

Student[] stuArr= new Student[2];

Student st1= new Student(222222, 20170301, "刘德华", "13893260374", "香港");

Student st2= new Student(111111, 20170302, "刘新成", "18810464513", "北京");

stuArr[0] =st1;

stuArr[1] =st2;returnstuArr;

}

}

5.发布webservice:

(1)右击项目名,Axis2Service——>New——>Other——>Axis2 Service Archiver;

(2)Class File Location路径:项目WEB-INF下的classes目录(例如:E:\Workspaces\Axis2Service\web\WEB-INF\classes);

(3)勾选Skip WSDL,点击下一步;

(4)Add any external libraries忽略,下一步;

(5)勾选Generator the service xml automatically,下一步;

(6)Service name:填写要发布的service名称,Class name:要发布的类的全称(例如:cn.lxc.service.MyService),下一步;

(7)Output file location:指定要发布的service到tomcat的axis2项目容器中(例如:C:\apache-tomcat-7.0.69\webapps\axis2\WEB-INF\services);点击finish即可;

6.使用客户端调用webservice:

(1)新建web project,命名为Axis2Client,将①axis2-1.7.4-bin.zip解压后的包下的lib目录下的jar包添加到项目web/WEB-INF/lib目录下;

(2)使用myeclipse的axis2插件Axis2 Code Generator生成客户端;

(3)右击项目Axis2Service,New——>Other——>Axis2 Code Generator,点击下一步;

(4)选择Generator Java source code from a WSDL file,点击下一步;

(5)WSDL file location:路径指向点击MyService链接得到的wsdl文件(例如:C:\Users\liuxincheng\Desktop\MyService.xml),点击下一步;

(6)Codegen option:默认default,选择custom(定制),其他默认,点击下一步;

(7)选择Browse and select a project on current eclipse workspace,Output Path:选择Axis2Client的路径,例如(E:\Workspaces\Axis2Client),点击finish即可;

(8)创建Test类测试:

packagecn.lxc.test;importcn.lxc.bean.xsd.Student;importcn.lxc.service.AddStudent;importcn.lxc.service.AddStudentResponse;importcn.lxc.service.AddStudents;importcn.lxc.service.AddStudentsResponse;importcn.lxc.service.GetGreeting;importcn.lxc.service.GetGreetingResponse;importcn.lxc.service.MyServiceStub;importcn.lxc.service.QueryStudent;importcn.lxc.service.QueryStudentResponse;importcn.lxc.service.QueryStudents;importcn.lxc.service.QueryStudentsResponse;public classTest {public static voidmain(String[] args){//设置远程服务调用地址

String target = "http://127.0.0.1:8080/axis2/services/MyService";try{//根据地址构造用户存根

MyServiceStub stub = newMyServiceStub(target);//1. 调用getGreeting方法,设置入参对象及属性,入参,回参为基本类型String

GetGreeting getGreeting = newGetGreeting();

getGreeting.setName("Axis");//设置方法参数

GetGreetingResponse ggr =stub.getGreeting(getGreeting);//接收方法返回值

String getResult =ggr.get_return();

System.out.println(getResult);//2. 调用AddStudent方法,设置入参对象及属性,入参为bean

AddStudent addStudent = newAddStudent();

Student student= newStudent();

student.setAddress("shanghai");

student.setId(123456);

student.setName("张三");

student.setNumber(12321312);

student.setTel("13678956529");

addStudent.setStu(student);

AddStudentResponse asr=stub.addStudent(addStudent);//接收方法返回值

String addResult =asr.get_return();

System.out.println(addResult);//3. 调用queryStudent方法,设置入参对象及属性,回参为bean

QueryStudent queryStudent = newQueryStudent();

QueryStudentResponse qsr=stub.queryStudent(queryStudent);//接收方法返回值

Student qsResult =qsr.get_return();

System.out.println("地址:" + qsResult.getAddress() + ", ID:"

+ qsResult.getId() + ", 姓名:" + qsResult.getName() + ", 号码:"

+ qsResult.getNumber() + ", 电话:" +qsResult.getTel());

System.out.println("");//4. 调用queryStudents方法,设置入参对象及属性,返回bean数组

QueryStudents queryStudents = newQueryStudents();

QueryStudentsResponse qssr=stub.queryStudents(queryStudents);//接收方法返回值

Student[] qssResult =qssr.get_return();for (int i = 0; i < qssResult.length; i++){

System.out.println("地址:" + qssResult[i].getAddress() + ", ID:"

+ qssResult[i].getId() + ", 姓名:"

+ qssResult[i].getName() + ", 号码:"

+ qssResult[i].getNumber() + ", 电话:"

+qssResult[i].getTel());

}//5. 调用AddStudents方法,设置入参对象及属性,入参为bean数组

AddStudents addStudents = newAddStudents();

Student st= newStudent();

st.setAddress("shanghai");

st.setId(123456);

st.setName("servyou");

st.setNumber(12321312);

st.setTel("13678956529");

Student st2= newStudent();

st2.setAddress("shanghai");

st2.setId(123456);

st2.setName("servyou");

st2.setNumber(12321312);

st2.setTel("13678956529");

addStudents.addStudents(st);

addStudents.addStudents(st2);

AddStudentsResponse assr=stub.addStudents(addStudents);//接收方法返回值

String addstsResult =assr.get_return();

System.out.println(addstsResult);

}catch(Exception e){

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值