本文翻译自Apache Axis2 User Guide,介绍Axis2提供的四种调用模式。<o:p></o:p>
author: ZJ <st1:chsdate isrocdate="False" islunardate="False" day="13" month="3" year="2007" w:st="on">07-3-13</st1:chsdate>
<o:p> </o:p>
Web services可以用来为用户提供广泛的功能,从简单的,少时间消耗的功能到多时间消耗的业务服务。当我们使用(调用客户端的应用程序)这些Web Service时,我们不能用简单的调用机制来针对那些对时间消耗有很大要求的服务操作。例如,如果我们使用一个简单的传输通道(如HTTP)并使用IN-OUT模式来调用一个需要很长时间来完成的Web Service,那么多数情况下,我们得到的结果将是"connection time outs"。另一方面,如果我们从一个简单的客户端应用程序调用一个同步的服务,使用"blocking"的客户端API将会降低客户端应用程序的性能。现在来分析一下一些常用的服务调用形式。
许多Web Service引擎提供给客户Blocking和Non-Blocking的客户端APIs。
1)Blocking API-一旦服务被启用,客户端的应用程序将被挂起,直到operation被执行完毕(表现为收到一个response或fault),才能重新获得控制权。这是调用Web Service最简单的方式,并且这种方式适用于多数业务情形。
<o:p> </o:p>
2)Non-Blocking API-这是一个回叫或轮询机制的API。因此,一旦服务被起用,客户端应用程序马上得到控制权,通过使用一个callback对象来获得response。这种方式使得客户端应用程序可以很方便的同步启用多个Web Service。
这两种机制都是工作在API层面上的。称将通过使用Non-Blocking API而产生的异步行为方式为API Level 异步。
这两种机制都使用单一的传输连接来发送request和接收response。它们的性能远远落后于使用两个传输连接来发送request和接收response(不管是单工还是双工)。所以这两种机制都不能解决需要长时间处理的事务的传输问题(在operation处理完成之前,很有可能你的连接已经超时了)。一种可能的解决方法是使用两个独立的传输连接来发送和接收request&response。这种异步行为,我们称为Transport Level 异步。
通过组合API Level异步和Transport Level 异步,我们可以得到四种调用模式。如下所示。
API (Blocking/Non-Blocking)
|
Dual Transports (Yes/No)
|
Description
|
Blocking
|
No
|
最简单和常用的调用模式
|
Non-Blocking
|
No
|
使用回叫或轮询机制
|
Blocking
|
Yes
|
在单工模式下,service operation为IN-OUT时,很有用。(如SMTP)
|
Non-Blocking
|
Yes
|
此模式下的异步效果最大
|
Axis2提供了所有上述4种调用Web Service的实现方式。<o:p>
</o:p>
分享到:
相关推荐
接下来,我们将按照以下步骤来生成Axis2 Web Service客户端: ##### 1. 创建动态Web项目 - 打开Eclipse,选择“File”菜单中的“New”选项,然后选择“Dynamic Web Project”。 - 在弹出的对话框中输入项目名称,...
- **Axis2简介**:Axis2不仅是一个Web Service引擎,也是一个完整的Web服务开发框架。它支持多种消息传递模式和协议,如HTTP、HTTPS、SMTP等。Axis2的模块化设计使得扩展和定制更加便捷。 - **Axis2安装与部署**:...
总之,了解并掌握Axis2及其在Web Service中的应用,能有效提升开发者构建和使用Web Service的能力。通过实践,我们可以更好地理解如何在分布式系统中实现跨平台、跨语言的数据交换,为企业的信息化建设打下坚实基础...
AXIS2是一个流行的开源Web服务框架,用于创建和部署SOAP(简单对象访问协议)服务以及生成客户端代码。在本文中,我们将深入探讨如何利用AXIS2在MyEclipse环境中生成客户端代码,以便与Web服务进行交互。这个过程...
这篇博客文章可能提供了一个实际操作的例子,展示了如何在Java环境中使用Axis2来实现服务端的发布和服务客户端的调用。 首先,我们来讨论服务发布的流程。在Axis2中,服务发布通常包括以下步骤: 1. **创建服务类*...
Web Service 技术为跨平台数据交互提供了一种标准的方法,而 Delphi 和 Java 作为两种广泛使用的开发工具,均提供了丰富的支持来简化 Web Service 的开发过程。通过本文介绍的理论和技术,开发者可以更好地理解和...
本教程将详细介绍如何利用Apache Tomcat 5.0作为应用服务器,以及如何结合Axis2来构建Web Service应用程序。 首先,我们需要理解Web Service的基本概念。Web Service是一种基于开放标准(如WSDL、SOAP和UDDI)的...
**创建Web Service客户端** 1. **新建Dynamic Web Project**:如`wsClient`,或者选择在现有项目中创建。 2. **生成客户端代码**:右键`wsClient`项目,选择`New > Web Service Client`,输入Web Service的WSDL URL...
总的来说,Axis2 1.6.2提供了一种简洁的方式,帮助开发者快速地从WSDL生成客户端代码,从而简化Web服务的使用。熟悉这一过程对于任何涉及跨系统交互的Java开发者来说都是非常有价值的技能。记住,如果在使用过程中...
本篇文章将深入探讨如何使用Apache Axis2框架创建Web Service客户端,以及其核心概念和技术。 Apache Axis2是Apache SOAP引擎的第二代产品,提供了一个高效且灵活的Web Service实现平台。在 Axis2 中,客户端主要...
总之,"axis2-1.6.2客户端最少jar包" 是一个专为简化和优化Axis2客户端开发而设计的库集合,它包含了一系列必要的组件,使得开发人员能够在不依赖完整服务器环境的情况下,轻松地构建和运行Web服务客户端。
在实际操作中,开发者通常会结合使用这些文件和库来构建和配置安全的Axis2客户端。例如,`build.xml`可以被用来自动化编译、部署和测试过程,而`lib`目录下的库文件则为实现身份认证提供了必要的类和接口。 总的来...
1. **Axis2框架**:Axis2是构建和部署Web服务的核心框架,它支持SOAP 1.1、SOAP 1.2、RESTful服务,并且可以处理MTOM(Message Transmission Optimization Mechanism)和SWA(SwA Protocol)等数据传输方式。Axis2的...
Apache Axis2 是一个强大的 Web Service 框架,由 Apache 软件基金会开发,主要用于构建和部署高性能、高效率的 Web Services。它基于 Java 语言,提供了全面的 Web Service 功能,包括支持 SOAP、WSDL、WS-* 规范等...
Apache Axis是Apache组织下的一个开源项目,它提供了一套强大的工具和API来帮助开发者快速构建和部署Web Services。 本文将详细介绍如何使用Apache Axis创建Web Service,并将重点介绍三种不同的方法:动态调用接口...
【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2, Eclipse, 整合开发, Web Service 【内容】: 开发Web ...
标题中的“用脚本生成axis2的客户端”指的是在IT领域中使用自动化脚本来创建Axis2 Web服务的客户端。Axis2是Apache软件基金会开发的一个Web服务框架,它提供了丰富的功能来构建和部署Web服务。这个过程可以极大地...
Axis2是Apache软件基金会开发的一个开源Web服务框架,它提供了构建高效、可扩展的Web服务的能力。本话题将详细阐述如何使用Axis2创建Java Web服务以及客户端在调用这些服务时所需的重要依赖库。 1. **Axis2组件**:...
这些插件对于需要构建和维护Web服务的开发者来说非常有用,尤其是那些依赖于SOAP协议或希望利用Axis2的高级特性的项目。例如,大型企业系统之间的集成、分布式应用的开发,或是需要跨平台通信的服务等。 6. **版本...