浏览 2876 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-17
最后修改:2010-12-27
1、在服务器端建立一个Person类,内容如下: 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; } } 在 ServiceServer类中增加如下方法 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接口。 如果有问题可以加群 : 84242283(webservice交流学习) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |