我们还是用上一小节中的那个项目
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>
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接口。
教程源码下载:
转载请标明出处http://blog.csdn.net/shimiso
欢迎有识之士加入我们的技术交流群:173711587
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。