本文翻译自Apache Axis2 User Guide,介绍Axis2提供的四种调用模式。<o:p></o:p>
author: ZJ <st1:chsdate w:st="on" year="2007" month="3" day="13" islunardate="False" isrocdate="False">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>
出自 51CTO.COM博客
分享到:
相关推荐
接下来,我们将按照以下步骤来生成Axis2 Web Service客户端: ##### 1. 创建动态Web项目 - 打开Eclipse,选择“File”菜单中的“New”选项,然后选择“Dynamic Web Project”。 - 在弹出的对话框中输入项目名称,...
【Web Service简介】 Web Service是一种基于开放标准的、自包含且自...通过以上步骤,开发者可以快速地在Axis2上构建和部署Web Service,实现跨系统的通信。轴心轴2的特性使其成为开发高效、可扩展Web服务的理想选择。
总之,了解并掌握Axis2及其在Web Service中的应用,能有效提升开发者构建和使用Web Service的能力。通过实践,我们可以更好地理解如何在分布式系统中实现跨平台、跨语言的数据交换,为企业的信息化建设打下坚实基础...
AXIS2是一个流行的开源Web服务框架,用于创建和部署SOAP(简单对象访问协议)服务以及生成客户端代码。在本文中,我们将深入探讨如何利用AXIS2在MyEclipse环境中生成客户端代码,以便与Web服务进行交互。这个过程...
这篇博客文章可能提供了一个实际操作的例子,展示了如何在Java环境中使用Axis2来实现服务端的发布和服务客户端的调用。 首先,我们来讨论服务发布的流程。在Axis2中,服务发布通常包括以下步骤: 1. **创建服务类*...
- **Delphi IDE**:内置了对 Web Service 支持的功能,如 SOAP Client 组件,可以轻松创建客户端应用程序来调用 Web Service。 - **XML 类库**:提供了丰富的类和函数来处理 XML 数据,这对于理解 WSDL 和解析 SOAP ...
本教程将详细介绍如何利用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...
本篇文章将深入探讨如何使用Apache Axis2框架创建Web Service客户端,以及其核心概念和技术。 Apache Axis2是Apache SOAP引擎的第二代产品,提供了一个高效且灵活的Web Service实现平台。在 Axis2 中,客户端主要...
本文将详细介绍如何使用Axis2 1.6.2版本来生成基于WSDL的Web服务客户端代码。 首先,了解WSDL(Web Service Description Language)是什么至关重要。WSDL是一种XML格式的规范,用于描述Web服务及其接口。它定义了...
在实际操作中,开发者通常会结合使用这些文件和库来构建和配置安全的Axis2客户端。例如,`build.xml`可以被用来自动化编译、部署和测试过程,而`lib`目录下的库文件则为实现身份认证提供了必要的类和接口。 总的来...
5. `axiom-api.jar` 和 `axiom-impl.jar`:AXIOM是Axis2使用的XML处理模型,提供了一种高效、灵活的API来操作XML内容。 6. `neethi.jar`:Neethi是Apache的政策实现,用于处理WS-Security等Web服务安全标准。 这些...
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-* 规范等...
【标题】:Axis2与Eclipse整合开发的Web Service服务端详解 【描述】:本文将详细介绍如何在Eclipse环境中利用Axis2框架开发一个Web Service服务端,包括计算器服务CalculateService的实现步骤。 【标签】:Axis2,...
- `axiom-impl-1.2.12.jar`:AXIOM(Abstract eXtensible Information Model)是Axis2使用的XML信息模型,用于处理SOAP消息。 - `XmlSchema-1.4.7.jar`:实现了XML Schema解析器,用于验证XML文档是否符合指定的...
这些插件对于需要构建和维护Web服务的开发者来说非常有用,尤其是那些依赖于SOAP协议或希望利用Axis2的高级特性的项目。例如,大型企业系统之间的集成、分布式应用的开发,或是需要跨平台通信的服务等。 6. **版本...
在探讨如何使用Apache Axis来开发Web Service之前,我们首先需要了解一些基本概念。 **Web Service**是一种标准的技术框架,用于实现不同平台之间的应用通信。它使用XML作为数据交换格式,并通过HTTP进行传输。...
标题中的“用脚本生成axis2的客户端”指的是在IT领域中使用自动化脚本来创建Axis2 Web服务的客户端。Axis2是Apache软件基金会开发的一个Web服务框架,它提供了丰富的功能来构建和部署Web服务。这个过程可以极大地...