没有合适的资源?快使用搜索试试~ 我知道了~
用AXIS2开发WebService
4星 · 超过85%的资源 需积分: 9 7 下载量 138 浏览量
2012-10-03
21:31:39
上传
评论
收藏 1004KB DOC 举报
温馨提示
试读
45页
1. AXIS2简介 本文介绍如何在eclipse3.2下用Axis2开发web service,并将Axis2与自己的web service部署在Tomcat 6.0.18下,再通过在C#下写测试程序,来访问Tomcat下的web service。
资源推荐
资源详情
资源评论
用 AXIS2 开发 WebService
目 录
1. AXIS2 简介.............................................................................................................................3
2. 下载 AXIS2.............................................................................................................................6
2.1 AXIS2 发行包 6
2.1.1
标准二进制发行包
6
2.1.2 WAR
发行包
7
2.1.3
源码发行包
9
2.1.4
文档发行包
9
2.2 下载 AXIS2 9
2.3 下载 AXIS2 的 ECLIPSE 插件 11
3. 安装部署 AXIS2...................................................................................................................13
3.1 部署 AXIS2 到 TOMCAT 13
3.2 安装 AXIS2 的 ECLIPSE 插件 15
4. 编写 WEB SERVICE 程序..................................................................................................16
4.1 创建服务程序 16
4.2 打包服务 23
4.3 部署服务 29
4.4 创建 C#的访问测试程序 32
4.5 在 ECLIPSE 中调试 AXIS2 服务程序 37
5. 遇到的其他问题...................................................................................................................41
5.1 使用 ORG.APACHE.COMMONS.LOGGING 后不能正常打包 AAR 包 41
5.2 在 使 用 AXIS2 CODE GENERATOR 时 报
JAVA.LANG.REFLECT.INVOCATIONTARGETEXCEPTION 异常。 42
本文介绍如何在 eclipse3.2 下用 Axis2 开发 web service,并将 Axis2 与自己的 web
service 部署在 Tomcat 6.0.18 下,再通过在 C#下写测试程序,来访问 Tomcat 下的
web service。
1. AXIS2 简介
web service 是可以解决异构系统异构语言之间互通信问题,还可以做不同系统之
间的数据交换。传统的异构系统异构语言之间互通方案有:Corba、DCOM、web
service。Corba 太复杂,DCOM 使用于微软平台,而 web service 可跨平台实现非常简
单。
web service 通常使用 SOAP(简单对象传输协议)作为实现机制,也就是 XML-RPC
的升级,也就是用 XML 来描述一个远程调用(RPC)的过程,用 XML 作为异构系统之
间通信和数据交换语言。因为 XML 是跨平台的标准数据交换格式,所以在 web service
中可以用 XML 来描述编程语言中的函数调用过程。
web service 的实现有很多,如微软的 DNA 解决方案,IBM 的 SOA 解决方案。
在 Java 语言的实现工具有:apache-AXIS;
C++的工具有:gsoap;
C 的工具有:AXIS2C;
python 的工具有:soappy 等。
Apache Axis2 项目是一个基于 Java 语言的 Web services 系统服务和客户端的实现。
为了从 Apache Axis 1.0 中获取教训,Apache Axis2 提供了一个完整的对象模型和模块
化体系结构,这样可以很容易的添加功能以及支持一个新的与 Web services 相关的说
明和建议。Axis2 可以让你很容易的执行以下任务:
发送 SOAP 消息
接收和处理 SOAP 消息
从一个普通的 Java 类建立 Web service
用 WSDL 来建立实现服务和客户端的实现类
很容易的从一个服务来获取 WSDL
发送和接收带有附件的 SOAP 消息
建立或者使用基于 REST 的 Web service
建立或者使用从 WS-Security, WS-ReliableMessaging, WS-Addressing, WS-
Coordination 和 WS-Atomic Transaction 获取优势的服务
当新建议出现时,使用 Axis2 的模块化结构来很容易的加入对它的支持
内部流程
要理解 Axis2 并且知道它做了些什么,你必须对 Web services 消息的生命周期有
一 个 很 好 的 认 识 。 通 常 , 它 看 起 来 如 下 图 所 示 :
发送应用程序建立原始 SOAP 消息,这是一个包含消息头和消息体的 XML 消息。
如果系统需要使用例如 WS-Addressing 或者 WS-Security 之类的 WS*建议,这个消息
就会在离开发送者之前经过额外的处理。一旦消息准备好了,他就会借助一个特别的传
输器发送出去,例如 HTTP,JMS 等等。消息沿着它的路径发送到接收者,接收者是借
助传输监听器接收消息的。(换句话说,如果应用程序没有运行 HTTP 监听器,那么它
就将不会接收 HTTP 消息)再者,如果消息是需要使用 WS-Security 或者其它建议的系
统的一部分,那么为了检查凭证或者解密敏感信息,它需要一些额外的处理。最后,一
个派发者决定这个消息发送到的指定应用程序(或者其它组件,例如 Java 方法),并
且把它发送给这个组件。这个组件是一个完整的应用程序的一部分,这个应用程序是设
计用来与这些来回发送的数据一起工作的。
Axis2 如何处理 SOAP 消息
Axis2 可以处理一次事务中的发送者和接收者双方的过程。从 Axis2 的角度看,结
构如下:
在一端,你有一个处理(发送或接收)消息的应用程序。在中间,你有 Axis2,或
者,你可以有 Axis2。Web services 的价值在于收发双方(任何一方都可以是服务段或
者客户端)甚至不需要在同一个平台上,更不需要运行同一个应用程序。假设 Axis2 在
两边同时运行,过程如下:
发送者建立 SOAP 消息。
Axis "handlers" 执行必要的操作,例如对相关消息进行 WS-Security 加密。
传输器发送者发送消息。
在接收端,传输监听者检测消息。
传输监听者将消息传递给接收端的所有 handler。
一旦消息在“pre-dispatch”阶段处理完,它会被传递给派发者,然后被传给合适的
应用程序。
在 Axis2 中 , 这 些 行 动 被 分 解 成 “ 阶 段 ” , 以 及 几 个 预 定 义 阶 段 , 例 如 “ pre-
dispatch”,“dispatch”和“message processing”,集成在 Axis2 中。每一个阶段是一组
“handler”。Axis2 可以让你来控制每个 handler 归属于哪个阶段,以及在一个阶段中各
个 handler 的执行顺序。你也可以添加你自己的阶段和 handler。Handler 来自于可以被
插入 一个 运 行着 的 Axis2 系 统的模 块。 这些 模块 ,例 如提 供 WS-Security 实 现的
Rampart,提供 WS-ReliableMessaging 实现的 Sandesha,都是 Axis2 中的主要扩展机
能。
剩余44页未读,继续阅读
资源评论
- w7261238082012-10-09写服务的类 是最基本的,要是调用了dao层的方法之后怎么写呢,我写的时候调用了dao层,服务发布是成功的,但是一传参数的时候就会报null ,没有注入进去,调不到方法,请问是怎么回事?
doujianbo
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功