- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Axis2 体系结构
部署模块
Axis2采用 xml 文件方式来配置管理,并使用了本身的 Axiom 来读取配置文件。Axis2通过部署模块中的日程管理器(Scheduler),定时通知部署文件监听器(Listener),定时查看更新状况并实时更新系统,这样的处理方式使Axis2可以在运行时部署新的Service,称为“热部署”,而且在不需要重启Axis2的基础上更新已部署的Service,称为“热更新”。
WSDL与代码生成
WSDL(Web Services Description Language)是一个基于XML的语言,用于描述Service及其函数、参数和返回值,因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。Axis2提供了工具(WSDL2C Tool),可以根据WSDL文件自动生成客户端和服务器框架代码。
信息处理模型
Axis2定义了一个处理信息的摸型,所有的状态都保存在这个层次的机构模型中,该模型定义了两种用于存放状态的类。一种为Description 类存放本质上是静态的且存在于 Axis 引擎实例的整个生命周期中的数据(如传输、服务和操作的配置)。一种为Context 类存放调用上下文中有效的服务和操作的动态信息,例如当前请求和响应 SOAP 消息、From 地址、To 地址和其他元素。
SOAP处理模型
SOAP 请求消息流到达服务器之后,会经过一系列处理程序,这些处理程序组成了一个集合,共同完成一次Service的调用。这些处理程序形成了一个管道(或流),Axis2 引擎的传入消息会通过InPipe。所有传出消息都会通过OutPipe。
XML处理模型AXIOM
Axis2 引入了一个名为 AXIOM 的新模型,用于处理 SOAP 消息。AXIOM 使用 StAX (Streaming API for XML) 来解析 XML。StAX 是一个标准的流式 Pull 解析器 Java? API。AXIOM跟传统的XML处理模型不同,只有需要使用时,才将XML加载到内存,这个特性决定了AXIOM占用的内存小;另外,传统的XML处理模型,需要完整的XML才能进行解析,而Axiom对象模型实现了对XML文档的部分解析,可构建不完整的节点树。
Client APIs
Axis2提供了客户端API用来调用Web Service,可以用同步或者异步的编程方式。
Client APIs分为两类,分别名为 ServiceClient 和 OperationClient。ServiceClient API 专门用于只需要发送和接收 XML 的普通用户,而 OperationClient 旨在供希望处理 SOAP Header 和其他一些高级任务的高级用户使用。
传输器
此模块包含与传输层交互的处理程序。传输处理程序有两种类型:TransportListener 和 TransportSender。TransportListener 从传输层接收 SOAP 消息,然后将其传送到 InPipe 进行处理。TransportSender 发送通过指定传输从 OutPipe 接收到的 SOAP 消息。Axis2 提供 HTTP、SMTP 和 TCP 的处理程序。对于 HTTP 传输,服务器端上的 AxisServlet 和客户端上的一个简单的独立 HTTP 服务器(由 Axis2 提供)充当 TransportReceiver。
配置axis2
解压文件到d:\AXIS2\axis2c
解压libxml2-.win32.zip到d: \AXIS2\
解压iconv-.win32.zip到d: \AXIS2\
解压zlib-到d: \AXIS2\
设置环境变量D:\AXIS2\axis2c\lib;
拷贝d: \AXIS2\libxml2-.win32\bin\
d: \AXIS2\zlib-.win32\bin\
d: \AXIS2\iconv-.win32\bin\到d:\AXIS2\axis2c\lib目录下
编辑d:\AXIS2\axis2c\build\win32\
ENABLE_LIBXML2 = 1
LIBXML2_BIN_DIR = D:\AXIS2\libxml2-.win32
ICONV_BIN_DIR = D:\AXIS2\iconv-.win32
ZLIB_BIN_DIR= D:\AXIS2\zlib-.win32
编辑d:\AXIS2\axis2c\build\win32\makefile /*减低警告级别*/
原来:
修改为:
设置环境变量C:\Program Files\Microsoft Visual Studio\VC98\Bin;
cd C:\Program Fil
文档评论(0)