在java中启动axis2的例子
在Java中启动Axis2服务的知识点详述 一、Axis2简介与意义 Axis2是Apache组织下的一个开源项目,它是一个高性能、可扩展的Web服务框架,支持SOAP和REST等协议,为开发者提供了构建、部署和管理Web服务的能力。Axis2在Java环境下启动和运行,能够提供异步服务调用的支持,这在处理高并发、大数据量的网络请求时具有显著优势。 二、Java中启动Axis2服务的关键步骤 根据给定文件的部分内容,我们可以总结出在Java中启动Axis2服务的关键步骤如下: 1. **导入必要的包** 在代码示例中,首先导入了`org.apache.axis2`下的多个类,包括`AxisServer`、`ConfigurationContext`、`ConfigurationContextFactory`、`SimpleHTTPServer`、`AxisService`、`Parameter`以及`Java2WSDLConstants`。这些类是Axis2框架的核心组件,用于配置和启动服务。 2. **创建配置上下文** 使用`ConfigurationContextFactory.createConfigurationContextFromFileSystem()`方法创建一个配置上下文实例。这个实例将用于初始化和配置Axis2服务。 3. **设置HTTP服务器** 创建一个`SimpleHTTPServer`实例,并传入配置上下文和监听端口(如8080)。这将为Axis2服务提供HTTP传输层的支持。 4. **定义服务** 使用`AxisService.createService()`方法创建一个服务实例,传入服务类的全限定名和配置上下文。这里以`EchoService`为例,该服务类应实现具体的业务逻辑。 5. **启用地址模块** 通过`engageModule("addressing")`方法启用地址模块,这是为了支持WS-Addressing标准,实现更高级的异步服务调用能力。 6. **添加服务到配置上下文** 使用`addService()`方法将之前定义的服务实例添加到配置上下文中,使服务可以被Axis2框架识别并管理。 7. **启动HTTP服务器** 调用`start()`方法启动HTTP服务器,此时Axis2服务将开始监听指定端口,准备接收客户端的请求。 三、客户端侧的配置 除了服务端的配置外,若要在客户端进行异步服务调用,同样需要启用地址模块。这通常涉及到对客户端的配置调整,使其能够理解和处理WS-Addressing的消息格式。 四、代码示例解析 给定的代码片段展示了如何在Java中使用Axis2框架创建并启动一个异步Web服务。虽然代码中提到了不推荐在实际生产环境中使用这种方式启动Axis2(可能是因为效率或安全性考虑),但它仍然是理解基本原理和流程的绝佳案例。 五、总结 启动Axis2服务涉及一系列复杂的配置和初始化过程,但一旦掌握其核心概念和操作步骤,便能有效地利用Axis2提供的强大功能,包括异步服务调用、高性能数据处理等。在实际开发中,还需结合具体需求和场景,灵活运用Axis2的各项特性,以达到最佳的应用效果。
February 5, 2010
By Deepal Jayasinghe
Bio »
Send Email »
More Articles »
Transport-level Asynchronous Support Example
Now let's use full asynchronous support in Axis2, which requires WS-Address support for both the client and server sides. You can engage the addressing module on the server side using any of the available ways for doing that, but in this example, you use the following source code to start Axis2 and engage addressing (in real life, however, you would not use the following code to start Axis2).
1 package org.sample;
2
3 import org.apache.axis2.engine.AxisServer;
4 import org.apache.axis2.context.ConfigurationContext;
5 import org.apache.axis2.context.ConfigurationContextFactory;
6 import org.apache.axis2.transport.http.SimpleHTTPServer;
7 import org.apache.axis2.description.AxisService;
8 import org.apache.axis2.description.Parameter;
9 import org.apache.axis2.description.java2wsdl.Java2WSDLConstants;
10
11 public class AddressingEnableServer {
12 public static void main(String[] args) throws Exception{
13 ConfigurationContext configurationContext =
ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null);
14 SimpleHTTPServer smt = new SimpleHTTPServer(configurationContext, 8080);
15 AxisService service1 =
AxisService.createService(EchoService.class.getName(),
configurationContext.getAxisConfiguration());
17 configurationContext.getAxisConfiguration().addService(service1);
18 smt.start();
19 }
20 }
21
Now let's run the code. You will be able to access the service from http://localhost:8080/axis2/services/EchoService.
As previously mentioned, you also need to engage addressing on the client side. You can do that as follows:
Post a comment
Email Article
Print Article
Share Articles
Digg
del.icio.us
Slashdot
DZone
StumbleUpon
FriendFeed
Furl
Newsvine
MySpace
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 37
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助