eclipse下axis2创建web service(四)

来源:互联网 发布:列生成算法思想 编辑:程序博客网 时间:2024/05/18 02:37
上节我们做了一个简单的例子,调用的服务里的方法只是简单返回一个字符串,这次我们要做一个复杂点的例子,调用服务里的方法返回一个java Bean对象。

      

       1. 首先做一个简单的java bean ,代码如下

Java代码 复制代码 收藏代码
  1. package com.deltaj.server; 
  2.  
  3. public class Persion { 
  4.     // 姓名 
  5.     private String name; 
  6.     // 年龄 
  7.     private int age; 
  8.  
  9.     public String getName() { 
  10.         return name; 
  11.     } 
  12.  
  13.     public void setName(String name) { 
  14.         this.name = name; 
  15.     } 
  16.  
  17.     public int getAge() { 
  18.         return age; 
  19.     } 
  20.  
  21.     public void setAge(int age) { 
  22.         this.age = age; 
  23.     } 
  24.  
package com.deltaj.server;public class Persion {// 姓名private String name;// 年龄private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

2.做一个服务,里面只发布一个方面,这个方法返回这个bean。

Java代码 复制代码 收藏代码
  1. package com.deltaj.server; 
  2.  
  3. public class BeanServer { 
  4.  
  5.     /**
  6.      * 简单的测试方法
  7.      *
  8.      */ 
  9.     public Persion testMethod(String name,int age) { 
  10.         Persion persion = new Persion(); 
  11.         persion.setName(name); 
  12.         persion.setAge(age); 
  13.         return persion; 
  14.     } 
package com.deltaj.server;public class BeanServer {/** * 简单的测试方法 *  */public Persion testMethod(String name, int age) {Persion persion = new Persion();persion.setName(name);persion.setAge(age);return persion;}}

3.按照第二节的做法,把这个服务发布出来。

  4.同样按照第三节的方法,用这个wsdl来生成stub代码。

  5.然后我们开始做一个方法来调用一下这个服务。

Java代码 复制代码 收藏代码
  1. package com.deltaj.client; 
  2.  
  3. import com.deltaj.server.TestServerStub; 
  4.  
  5. public class BeanClient { 
  6.     public staticvoid main(String[] args) throws Exception{ 
  7.         // 初始化桩文件 
  8.         TestServerStub stub = new TestServerStub(); 
  9.         // 初始化TestMethod方法。 
  10.         TestServerStub.TestMethod request = new TestServerStub.TestMethod(); 
  11.         // 设置bean的属性值。 
  12.         request.setName("delta "); 
  13.         request.setAge(20); 
  14.         //    
  15.         System.out.println("The name is:"+stub.testMethod(request).get_return().getName()); 
  16.         System.out.println("The age is:"+stub.testMethod(request).get_return().getAge()); 
  17.     } 
  18.  
package com.deltaj.client;import com.deltaj.server.TestServerStub;public class BeanClient {public static void main(String[] args) throws Exception{// 初始化桩文件TestServerStub stub = new TestServerStub();// 初始化TestMethod方法。TestServerStub.TestMethod request = new TestServerStub.TestMethod();// 设置bean的属性值。request.setName("delta ");request.setAge(20);//   System.out.println("The name is:"+stub.testMethod(request).get_return().getName());System.out.println("The age is:"+stub.testMethod(request).get_return().getAge());}}

6.如果按照这里说的做的话,你会看到

log4j:WARN No appenders could be found for logger (org.apache.axis2.description.AxisService).
log4j:WARN Please initialize the log4j system properly.
The name is:delta
The age is:20