WebService之Axis2系列教程(九)Axis2與Spring整合傳遞對象

來源:互聯網
上載者:User

我們還是用上一小節中的那個項目

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"><messageReceiverclass="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介面。

 

 

教程源碼下載:

AxisTest

AxisSpring

AxisProject

 

 

轉載請標明出處http://blog.csdn.net/shimiso 

歡迎有識之士加入我們的技術交流群:173711587

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.