没有合适的资源?快使用搜索试试~ 我知道了~
WebService大讲堂之Axis2.pdf
4星 · 超过85%的资源 需积分: 10 10 下载量 178 浏览量
2012-05-28
14:58:16
上传
评论
收藏 1.09MB PDF 举报
温馨提示
试读
40页
xis(Apache eXtendsible Interaction System 的缩写) 是一款开源的WebService运行引擎,它是SOAP协议的一个实现,其本身来源于Apache的另一个项目Apache SOAP.Axis分为1.x和2.x两个系列
资源推荐
资源详情
资源评论
WebService 大讲堂之 Axis2
- http://www.blogjava.net/nokiaguy 原创
- Fallseir 2010-11-26 整理
目录
WebService 大讲堂之 Axis2(1):用 POJO 实现 0 配置的 WebService ......................................................... 2
一、Axis2 的下载和安装 ....................................................................................................................................... 2
二、编写和发布 WebService .................................................................................................................................. 3
三、 用 Java 实现调用 WebService 的客户端程序.......................................................................................... 5
四、用 wsdl2java 简化客户端的编写 ................................................................................................................. 7
五、使用 C#调用 WebService ............................................................................................................................ 8
WebService 大讲堂之 Axis2(2):复合类型数据的传递 ....................................................................................... 9
一、实现服务端代码 ............................................................................................................................................... 9
二、实现 DataForm 类 ....................................................................................................................................... 10
三、发布 WebService ......................................................................................................................................... 11
四、使用 Java 编写调用 WebService 的客户端代码 ..................................................................................... 11
五、使用 C#编写调用 WebService 的客户端代码 ......................................................................................... 13
WebService 大讲堂之 Axis2(3):使用 services.xml 文件发布 WebService ................................................ 14
WebService 大讲堂之 Axis2(4):二进制文件传输 ......................................................................................... 17
WebService 大讲堂之 Axis2(5):会话(Session)管理 .................................................................................... 20
WebService 大讲堂之 Axis2(6):跨服务会话(Session)管理 ............................................................................ 22
WebService 大讲堂之 Axis2(7):将 Spring 的装配 JavaBean 发布成 WebService ................................... 26
WebService 大讲堂之 Axis2(8):异步调用 WebService ................................................................................... 28
WebService 大讲堂之 Axis2(9):编写 Axis2 模块(Module) ........................................................................ 32
WebService 大讲堂之 Axis2(10):使用 soapmonitor 模块监视 soap 请求与响应消息 .............................. 37
WebService 大讲堂之 Axis2(1):用 POJO 实现 0 配置的 WebService
- http://www.blogjava.net/nokiaguy/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/01/02/249556.html
本文为 http://www.blogjava.net/nokiaguy 原创,如需转载,请注明作者和出处,谢谢!
Axis2 是一套崭新的 WebService 引擎,该版本是对 Axis1.x 重新设计的产物。Axis2 不仅支持 SOAP1.1 和
SOAP1.2,还集成了非常流行的 REST WebService,同时还支持 Spring、JSON 等技术。这些都将在后面的系列教
程中讲解。在本文中主要介绍了如何使用 Axis2 开发一个不需要任何配置文件的 WebService,并在客户端使用 Java
和 C#调用这个 WebService。
一、Axis2 的下载和安装
读者可以从如下的网址下载 Axis2 的最新版本:
http://ws.apache.org/axis2/
在本文使用了目前 Axis2 的最新版本 1.4.1。读者可以下载如下两个 zip 包:
axis2-1.4.1-bin.zip
axis2-1.4.1-war.zip
其中 axis2-1.4.1-bin.zip 文件中包含了 Axis2 中所有的 jar 文件, axis2-1.4.1-war.zip 文件用于将 WebService
发布到 Web 容器中。
将 axis2-1.4.1-war.zip 文件解压到相应的目录,将目录中的 axis2.war 文件放到<Tomcat 安装目录>\webapps
目录中(本文使用的 Tomcat 的版本是 6.x),并启动 Tomcat。
在浏览器地址栏中输入如下的 URL:
http://localhost:8080/axis2/
如果在浏览器中显示出如图 1 所示的页面,则表示 Axis2 安装成功。
图 1
二、编写和发布 WebService
对于用 Java 实现的服务程序给人的印象就是需要进行大量的配置,不过这一点在 Axis2 中将被终结。在 Axis2 中不
需要进行任何的配置,就可以直接将一个简单的 POJO 发布成 WebService。其中 POJO 中所有的 public 方法将被发
布成 WebService 方法。
下面我们来实现一个简单的 POJO,代码如下:
public class SimpleService
{
public String getGreeting(String name)
{
return "你好 " + name;
}
public int getPrice()
{
return new java.util.Random().nextInt(1000);
}
}
在 SimpleService 类中有两个方法,由于这两个方法都是 public 方法,因此,它们都将作为 WebService 方法被
发布。
编译 SimpleService 类后,将 SimpleService.class 文件放到<Tomcat 安装目
录>\webapps\axis2\WEB-INF\pojo 目录中(如果没有 pojo 目录,则建立该目录)。现在我们已经成功将
SimpleService 类发布成了 WebService。在浏览器地址栏中输入如下的 URL:
http://localhost:8080/axis2/services/listServices
这时当前页面将显示所有在 Axis2 中发布的 WebService,如图 2 所示。
图 4 getPrice 方法的测试结果
在编写、发布和测试 0 配置的 WebService 时应注意如下几点:
1. POJO 类不能使用 package 关键字声明包。
2. Axis2 在默认情况下可以热发布 WebService,也就是说,将 WebService 的.class 文件复制到 pojo 目录中时,
Tomcat 不需要重新启动就可以自动发布 WebService。如果想取消 Axis2 的热发布功能,可以打开<Tomcat 安装目
录>\webapps\axis2\WEB-INF\conf\axis2.xml,找到如下的配置代码:
<parameter name="hotdeployment">true</parameter>
将 true 改为 false 即可。要注意的是,Axis2 在默认情况下虽然是热发布,但并不是热更新,也就是说,一旦成功发
布了 WebService,再想更新该 WebService,就必须重启 Tomcat。这对于开发人员调试 WebService 非常不方便,
因此,在开发 WebService 时,可以将 Axis2 设为热更新。在 axis2.xml 文件中找到<parameter
name="hotupdate">false</parameter>,将 false 改为 true 即可。
3. 在浏览器中测试 WebService 时,如果 WebService 方法有参数,需要使用 URL 的请求参数来指定该 WebService
方法参数的值,请求参数名与方法参数名要一致,例如,要测试 getGreeting 方法,请求参数名应为 name,如上面的
URL 所示。
4. 发布 WebService 的 pojo 目录只是默认的,如果读者想在其他的目录发布 WebService,可以打开 axis2.xml
文件,并在<axisconfig>元素中添加如下的子元素:
<deployer extension=".class" directory="my" class="org.apache.axis2.deployment.POJODeployer"/
>
上面的配置允许在<Tomcat 安装目录>\webapps\axis2\WEB-INF\my 目录中发布 WebService。例如,将本例
中的 SimpleService.class 复制到 my 目录中也可以成功发布(但要删除 pojo 目录中的 SimpleService.class,否则
WebService 会重名)。
三、 用 Java 实现调用 WebService 的客户端程序
WebService 是为程序服务的,只在浏览器中访问 WebService 是没有意义的。因此,在本节使用 Java 实现了一
个控制台程序来调用上一节发布的 WebService。调用 WebService 的客户端代码如下:
剩余39页未读,继续阅读
资源评论
- createday2013-11-03内容帮助不大
天涯海角Tiny
- 粉丝: 1
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功