package sample.service;
//一定要实现java.io.Serializable接口
public class Person implements java.io.Serializable{
private String name ;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
package sample.service;
public class ServiceServerImpl implements ServiceServer {
//定义sayHello 方法
public String sayHello(String name);
//定义getperson 方法
public Person getPerson(Person person);
}
package sample.service;
public class ServiceServerImpl implements ServiceServer {
//定义sayHello 方法
public String sayHello(String name) {
return "hello"+name;
}
//定义getperson 方法,传递Person对象
public Person getPerson(Person person) {
return person;
}
}
在services.xml中增加
<operation name="getPerson">
<messageReceiver
class="org.apache.axis2.rpc.receivers.RPcmessageReceiver" />
</operation>
2、通过wsdl的方式自动生成客户端:
3、ServiceClient客户端中建立ServiceClientPerson类,内容如下:
package sample.service;
public class ServiceClientPerson {
/**
* @param args
*/
public static void main(String[] args) throws java.lang.Exception {
HelloWorldStub stub = new HelloWorldStub();
// 创建Person对象
HelloWorldStub.Person person = new HelloWorldStub.Person();
person.setAge("23");
person.setName("张三");
// 设置要调用的方法的值
HelloWorldStub.GetPerson getPerson = new HelloWorldStub.GetPerson();
getPerson.setPerson(person);
// 调用getPerson并得到相应的返回值
HelloWorldStub.GetPersonResponse response = stub.getPerson(getPerson);
System.out.println("age="+ response.get_return().getAge());
System.out.println("name="+ response.get_return().getName());
}
}
4、运行后在console中打印出
age=23
name=张三
说明调用成功
一定要注意的是,建立的Person一定要实现java.io.Serializable接口。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。