您的位置:首页 > 编程语言 > Java开发

webservice 笔记(小结) axis2 集成spring 传递对象

2011-06-13 17:37 369 查看
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接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: