浏览 5643 次
锁定老帖子 主题:axis2创建web service(四)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (4) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-07
最后修改:2008-12-08
上节我们做了一个简单的例子,调用的服务里的方法只是简单返回一个字符串,这次我们要做一个复杂点的例子,调用服务里的方法返回一个java Bean对象。
1. 首先做一个简单的java bean ,代码如下 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。 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.然后我们开始做一个方法来调用一下这个服务。 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). 祝你好运。:)
附录: 1. axis2创建web service(一)
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-12-13
多谢,通过你的讲解,让我初步认识了AXIS2,呵呵
|
|
返回顶楼 | |
发表时间:2009-02-15
好文!!
请问Axis2与Axis1.4相比有什么优点? |
|
返回顶楼 | |
发表时间:2009-02-15
最后修改:2009-02-15
为啥不能直接:
Persion p = stub.testMethod("delta ", 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()); 服务到底执行了 1 遍还是 2 遍都不好说。 |
|
返回顶楼 | |
发表时间:2009-04-09
楼主,你好,我从数据库中读出信息后,用构造函数初始化给一个类,然后把类返回,可是读不到这个返回类中属性的值,不知道针对这种问题是怎么解决的?
|
|
返回顶楼 | |
发表时间:2009-04-16
大家好,我返回bean时,就会出错,返回简单类型就没有类型,不知道是怎么回事?
|
|
返回顶楼 | |
发表时间:2009-05-15
非常感谢,由于有个项目需要和其他的应用系统做接口,本人没做过,找了两天才找到像这样比较完整,详细的学习资料。让我逐步认识了axis2,可对于怎么做接口还是不知道该如何下手,如果可以,请多多指点。QQ:328633354
谢谢! |
|
返回顶楼 | |
发表时间:2009-06-13
LZ有兴趣讲解下SOAP协议吧 AXIS只是个工具 返回简单类型和复杂类型是不一样的 配置下你的wsdd文件即可.
|
|
返回顶楼 | |
发表时间:2009-07-22
andot 写道 为啥不能直接:
Persion p = stub.testMethod("delta ", 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()); 服务到底执行了 1 遍还是 2 遍都不好说。 测试了一下,是执行了两遍,对于axis2的Eclipse插件的使用算是知道了,但是对原理真的不是很懂,好像不是很好用 |
|
返回顶楼 | |
发表时间:2009-11-20
Person英文写错了
|
|
返回顶楼 | |