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最简单的方式,并且这种方式适用于多数业务情形。
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的实现方式。 
本文转自zhangjunhd51CTO博客,原文链接:http://blog.51cto.com/zhangjunhd/23805,如需转载请自行联系原作者

使用Axis2来构建Web Service客户端相关推荐

  1. 使用XFire+Spring构建Web Service(一)——helloWorld篇

    来源:http://www.blogjava.net/amigoxie/archive/2007/09/26/148207.html XFire 是与Axis 2并列的新一代Web Service框架 ...

  2. 使用XFire+Spring构建Web Service(二)

    来源:http://www.blogjava.net/amigoxie/archive/2007/09/28/149074.html 在<使用XFire+Spring构建Web Service( ...

  3. 使用wsimport命令创建Web Service客户端

    一.wsimport简介 在jdk的bin文件夹中,有一个wsimport.exe工具.这个工具可以依据Web Service的描述文件wsdl生成相应的类文件,然后用这些类文件,被Web Servi ...

  4. Web Service 客户端,调用服务方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 只是最简单的调用web  service  服务,至于要传什么参数全看到业务了. 以下是最简单的调用 ...

  5. 通向架构师的道路(第十天)之Axis2 Web Service(一)

    一.Axis2简介 1.1 介绍Axis2 Axis框架来自 Apache 开放源代码组织,它是基于Java语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP withAttachments ...

  6. 通向架构师的道路(第十四天)Axis2 Web Service安全之rampart

    2019独角兽企业重金招聘Python工程师标准>>> 一.加密保护我们的web service传输 在上一天的教程中,我们讲了一个简单的基于" security-cons ...

  7. 使用Apache CXF和Apache Axis2实现Web Services客户端

    记录:314 场景:在Spring Boot微应用上,使用Apache CXF框架实现Web Services客户端,调用Web Services服务端:使用Apache Axis2框架实现Web S ...

  8. Java开源Web Service(转)

    为什么80%的码农都做不了架构师?>>>    Axis  Apache Axis 是Apache WebService项目中的子项目,其最初起源于IBM的"SOAP4J& ...

  9. Web Service技术的SOAP实现

    写在前面的话:本文章由刘源师兄分享,非我原创.此处仅作学习记录之用. 0 SOA 1 简介 1.1 提出 1.2 定义 1.3 特点 1.4 主要实现方式 1.5 架构 1.6 组成元素 1.6.1 ...

最新文章

  1. 《 Spring1之第二次站立会议(重发)》
  2. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
  3. Docker搭建便捷的开发者环境
  4. c语言 为什么i%3cn 1,c语言中n+1个基础且容易出错的知识点
  5. 2021年中国养老前景调查报告
  6. 哪些场景应用了dsrc通信标准_如何提高量子通信系统的实用性,制约了量子通信系统的应用场景...
  7. python架构师书籍_阿里巴巴高级架构师:学好python这本书必看,堪称python入门宝典...
  8. 遗传算法详解python代码实现以及实例分析
  9. 创意字体设计中主题类别有哪些呢?
  10. 2022-华为-大数据研发工程师-秋招面经
  11. too many open files in system报错处理方案
  12. 北京 | 微信小程序及小游戏开发者线下交流会
  13. 费曼技巧:一张白纸提高学习效率
  14. Ruby On Rails 阿里云UBUNTU实例
  15. VehicleDynamicsAndCoontrol(四) -LONGITUDINAL VEHICLE DYNAMICS
  16. matlab弹幕抓取,B站某视频弹幕抓取
  17. 2023中国(深圳)国际氢能燃料电池技术及设备展览会
  18. c语言黑色星期五 代码,C语言 黑色星期五的问题
  19. python 爬虫 付费代理
  20. android 创意app,创意无止境!17款让人脑洞大开的APP推荐

热门文章

  1. DNS常用记录类型和服务发现(DNS解析)
  2. CSRF攻击原理与防御方法
  3. Windows端口占用情况?
  4. QT界面布局、系统信号和槽、启动进程、EDIT回车快捷键、正常信号和槽、QMessageBox、UIC使用(界面重新生成)
  5. COSC 1047 – Winter 2019 – Assignment
  6. netty Demo
  7. SQL Server使用 LEFT JOIN ON LIKE进行数据关联查询
  8. 深度学习之神经网络的结构
  9. 好用的一些 git 命令
  10. 多段实例代码详解7大类Python运算符,建议收藏!