axis2 webservice入门手册(JS,Java,PHP调用实例源码)www.sietoo.com出品
最近接触到一个银行接口的案子,临时需要用到axis2 webservice。自己现学现总结的一些东西,留给新手。少走弯路。 Axis2简介 ①采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。 ### Axis2 WebService 入门手册知识点详解 #### 一、Axis2简介 **1. AXIOM (AXIs Object Model)** - **定义**:AXIOM 是 Axis2 中用于处理 XML 的核心模型。它不同于传统的 DOM 和 SAX 解析方式,提供了更高效、灵活的方式来构建和操作 XML 数据。 - **特点**: - **按需构造**:可以根据实际需求动态构建 XML 对象,而不是一次性加载整个文档。 - **资源占用少**:相比于 DOM,AXIOM 只加载当前所需的 XML 节点,因此消耗更少的内存。 - **性能优越**:由于不需要加载整个文档,AXIOM 在处理大数据量时性能表现更佳。 **2. 消息交换模式** - **In-Only**:在这种模式下,仅发送 SOAP 请求,无需等待响应。 - **Robust-In**:客户端发送 SOAP 请求后,仅在发生错误时才会收到响应。 - **In-Out**:最常用的模式,每次请求都会伴随着一个响应。 **3. 客户端 API** - **阻塞与非阻塞**:Axis2 支持阻塞式和非阻塞式的客户端 API 接口,开发者可以根据实际情况选择适合的应用方式。 **4. 内置 Web 服务寻址 (WS-Addressing)** - **功能**:通过内置支持 WS-Addressing 规范,增强了服务发现的能力。 **5. 数据绑定** - **选择性**:Axis2 提供了多种数据绑定方式,包括直接使用 AXIOM、简单的数据绑定方法、以及使用 XMLBeans、JiBX 或 JAXB 2.0 等高级框架进行绑定。 - **灵活性**:这种多样性使得开发者可以根据具体需求选择最合适的数据绑定策略。 **6. 新的部署模型** - **热部署**:支持热部署功能,可以在不停止服务的情况下更新和部署新的服务组件。 **7. 传输协议支持** - **多样化**:Axis2 支持 HTTP、SMTP、JMS、TCP 等多种传输协议。 **8. REST 支持** - **适应性**:除了传统的 SOAP 协议外,还支持 RESTful 风格的服务接口。 #### 二、测试环境配置 **1. 测试环境** - **JDK**:1.6.0 - **Tomcat**:6.0.18 - **Axis2**:1.6.1 - **PHP**:5.3.5 **2. Axis2 环境部署** - **下载安装**:从 Apache 官网下载 Standard Binary Distribution 和 WAR Distribution。 - **环境变量配置**: - 添加 `AXIS2_HOME` 变量指向 Standard Binary Distribution 的解压目录。 - 将 `axis2.bat` 所在目录添加到系统环境变量 `path`。 - 将 `$AXIS2_HOME$/lib` 添加到系统环境变量 `classpath`。 - **WAR 文件部署**:将 WAR Distribution 解压到 `$tomcat_home$/webapps/axis2` 目录下。 **3. 测试 Axis2 环境** - **访问**:通过浏览器访问 `http://localhost:[port]/axis2` 来验证部署是否成功。 - **管理界面**:登录 `http://localhost:[port]/axis2/administration` 使用默认账户 `admin` 和密码 `axis2` 登录,可进行服务管理。 #### 三、示例:创建 HelloWorld Service **1. 创建 Java 项目** **2. 编写 HelloWorld 类** - **类名**:`HelloWorld` - **功能**:接收 SOAP 请求,返回包含问候信息的响应。 - **代码示例**: ```java public class HelloWorld { public OMElement sayHello(OMElement in) { String name = in.getText(); String info = "你好" + name + ", 给你推荐 http://www.sietoo.com"; OMFactory fac = OMAbstractFactory.getOMFactory(); OMNamespace ns = fac.createOMNamespace("http://ws.apache.org/axis2/samples/helloworld", "ns1"); OMElement result = fac.createOMElement("result", ns); result.setText(info); return result; } } ``` **3. 部署服务** - **配置**:在 `$tomcat_home$/webapps/axis2/WEB-INF/conf/axis2.xml` 中配置服务。 通过以上步骤,我们完成了 Axis2 WebService 的基础搭建及一个简单的 HelloWorld 服务实例。这些内容不仅适用于初学者快速上手,也为后续更复杂的服务开发奠定了坚实的基础。
剩余13页未读,继续阅读
- zengmeihong2013-11-09学习了 但不知怎么运用起来
- paradise_dm2013-07-23不错,适合学习
- 粉丝: 0
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于PythonSpleeter的戏曲音频处理系统.zip
- (源码)基于Spring Boot的监控与日志管理系统.zip
- (源码)基于C++的Unix V6++二级文件系统.zip
- (源码)基于Spring Boot和JPA的皮皮虾图片收集系统.zip
- (源码)基于Arduino和Python的实时歌曲信息液晶显示屏展示系统.zip
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage
- (源码)基于SimPy和贝叶斯优化的流程仿真系统.zip
- (源码)基于Java Web的个人信息管理系统.zip