没有合适的资源?快使用搜索试试~ 我知道了~
通向架构师的道路(第十天)之Axis2 Web Service(一).docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 77 浏览量
2023-10-27
09:58:08
上传
评论
收藏 33KB DOCX 举报
温馨提示
试读
15页
通向架构师的道路(第十天)之Axis2 Web Service(一).
资源推荐
资源详情
资源评论
一、Axis2 简介
1.1 介绍 Axis2
Axis 框架来自 Apache 开放源代码组织,它是基于 JAVA 语言的最新的 SOAP 规范
(SOAP 1.2)和 SOAP withAttachments 规范(来自 Apache Group )的开放源代码实现。
有很多流行的开发工具都使用 AXIS 作为其实现支持 Web 服务的功能,例如 JBuilder 以及
著名的 Eclipse J2EE 插件 Lomboz。AXIS 的最新版本可以从
http://ws.apache.org/axis/index.html 下载。
下载下来后直接解压即可用了。下图是 AXIS 核心引擎的体系结构图:
整个 AXIS 项目包括以下几个部分:
ü 消息流子系统
消息流子系统提供了灵活的消息传递框架,这个消息传递框架包括处理程序、链、序列化程
序和反序列化程序。处理程序是一个处理请求、响应和故障流的对象。处理程序可被组合在
一起成为链,而且可以使用一个灵活的部署描述符来配置这些处理程序的顺序。
ü 传输框架子系统
提供了一个传输框架,这个传输框架可以帮助您创建自己的可插式传输发送器和传输侦听器。
ü 数据编码子系统
AXIS 完全按照 XML Schema 规范提供各种数据类型的自动序列化,并且提供功能扩展接
口来使用您自己定制的序列化器和反序列化器。
ü 其他
AXIS 完全支持 WSDL 以及日志记录、出错以及故障处理机制。它同时提供一些工具用来
讲 WSDL 文档转换成客户端的调用框架以及根据类来产生 WSDL 定义文档。
AXIS 目前版本支持的标准是:W3C SOAP1.1 和 1.2;WSDL 1.1;SAAJ 1.1(SUN 公司:
SOAP with Attachments API for Java);JAX-RPC(SUN 公司:Java APIfor XML-Based
RPC)1.0。
1.2 开发项目中如何选择使用 Axis2 和其它的
WebService
² 如果你的应用程序需要支持多语言即有 C++, .net, Java,你应该选择 Axis2。
² 如果应用程序是遵循 Spring 哲学路线的话,ApacheCXF 或者 Spring WS 是一种更好的
选择,特别对嵌入式的 Web Services 来说。
一、搭建环境
第一步:
打开 Eclipse,建立一个标准的 Dynamic Web Project
第二步:
建完工程后,把 Axis2-1.4/Axis2-1.4.1 解压开来的目录下的 axis2-web(如下图),整个拷
入你工程的 WebContent 目录下:
第三步:
把 Axis2-1.4/Axis2-1.4.1 解压开来的目录下的 lib 目录里的所有 jar 导入你工程的
WEB-INF/lib 目录下,并加载入工程的 classpath,如下图
第四步:
在工程和 src 平级处新建一个目录叫 external-lib
第五步:
把 tomcat 里的用于 jsp, servlet 解析的两个 lib 拷入此 external-lib 目录,并且以“加载外部
jar”的方式加入工程的 classpath 中去
第六步:
在工程的 WEB-INF 目录下新建一个目录叫 services 目录。
第七步:
把 Axis2-1.4/Axis2-1.4.1 解压开来的目录下的 repository\modules,modules 这个目录,整
个拷贝到你工程的 WEB-INF 目录下。
整个配完的工程结构应如下图所示:
三、 第一个 Axis2Webservice 之
HelloWorld
3.1Service 端代码
package org.sky.axis2.helloworld;
import org.apache.axiom.om.OMElement;
import org.apache.axis2.AxisFault;
import javax.xml.stream.XMLStreamException;
public class HelloWorld {
public OMElement sayHello(OMElement element) throws XMLStreamException {
element.build();
// Secondly the OMElement should be detached from the current OMTree so
// that it can be attached
// some other OM Tree. Once detached the OmTree will remove its
// connections to this OMElement.
element.detach();
return element;
}
}
3.2 Service 端的 Web Service 布署文件
然后我们在工程的 WebContent\WEB-INF\services\目录下新建一个目录叫 HelloWorld 的目
录,与我们的类同名,在此目录下再建立一个 META-INF 的目录(大小写必须完全一致),
然后在 META-INF 目录下新建一个 services.xml,具体目录结构如下图所示:
Services.xml 文件的内容如下:
<service name="HelloWorld">
<parameter
name="ServiceClass">org.sky.axis2.helloworld.HelloWorld</parameter>
<operation name="sayHello">
<messageReceiver
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
<actionMapping>urn:sayHello</actionMapping>
</operation>
剩余14页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1899
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- Docker在Ubuntu16.04上安装和部署Apache Storm
- test_kong.zip
- springboot权限验证学习-下
- SeetaFace6人脸质量评估C++代码实现Demo
- OCAuxiliaryTools
- 制药公司QC顶岗实习专题报告
- Rust 全面指南:从基础到高级,一网打尽 Rust 的编程知识
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功