java webservice原理_轻松搞懂WebService工作原理

java webservice原理_轻松搞懂WebService工作原理用更简单的方式给大家谈谈 WebService 让你更快更容易理解 希望对初学者有所帮助 WebService 是基于网络的 分布式的模块化组件 我们直接来看 WebService 的一个简易工作流程 客户端 gt 阅读 WSDL 文档 了解 webservice 的请求 gt 调用 WebService 上面的流程是一个大致的描述 客户端阅读 WSDL 文档发送请求 然后调用 Web 服务器最后返回给客户端

用更简单的方式给大家谈谈WebService,让你更快更容易理解,希望对初学者有所帮助。

WebService是基于网络的、分布式的模块化组件。

我们直接来看WebService的一个简易工作流程:

客户端 ——>阅读WSDL文档(了解webservice的请求) ——> 调用WebService

上面的流程是一个大致的描述,客户端阅读WSDL文档发送请求,然后调用Web服务器最后返回给客户端,这和普通的http请求一样,请求->处理->响应,与普通的请求不一样的就是webservice请求中有一个WSDL文档和SOAP协议,以及.NET Framework自带的Web Service请求处理器 ISAPI Extension。

我们来看一个比较完整的流程:

客户端——> 阅读WSDL文档 (根据文档生成SOAP请求)——>发送到Web服务器——>交给WebService请求处理器 (ISAPI Extension)

——>处理SOAP请求——> 调用WebService——>生成SOAP应答——>Web服务器通过http的方式交给客户端

OK,到这里已经明白了的同学你可以走了,去逛逛别的文章,没懂的我们继续往下:

我们先来解释一下上面的流程中出现的几个名词:

1. SOAP: 是以XML形式提供简单、轻量、用于在分散或分布式环境中交换结构化和类型信息的机制。SOAP消息的基本结构通过HTTP协议传递XML数据。简单的说就是一个基于XML的协议。

2. WSDL : 是使用XML文档描述Web服务的标准,是Web服务的的接口定义语言,描述如何访问具体的接口,包含3个基本属性:

a. 如何访问服务:和服务交互的数据格式以及必要的协议。

b. 服务在哪里: 协议相关的地址,比如url信息等

c. 服务具有哪些功能: 服务提供的具体操作方法,=》就是你webservice中提供了哪些可调用的方法

原理详细描述:

无论使用什么工具、语言编写 WebService,都可以使用 SOAP 协议通过 HTTP 调用,其工作原理相同。创建 WebService 后,将其暴露给Web客户,任何语言、平台的客户都可以阅读其  WSDL 文档,以调用 WebService 。客户可以根据 WSDL 描述文档生成一个 SOAP 请求信息。 WebService 部署在Web服务器( 如IIS )上,客户生成的 SOAP 请求会被嵌入在一个 HTTP 请求中并发送到Web服务器,Web服务器(IIS)再将请求转发给 WebService 请求处理器。

对于.Net而言,WebService请求处理器则是一个 .NET Framework 自带的 ISAPI Extension。Web请求处理器用于解析收到的SOAP请求,调用 WebService,然后生成相应的SOAP应答。Web服务器得到SOAP应答后,在通过HTTP应答的方式将其返回给客户端。

WebService优势:

1.平台无关性 。  任何平台都可以使用WebService

2.编程语言无关系。 基于XML,XML本身与平台无关,使用XSD作为数据类型系统,不论用什么语言编写,所有数据类型都会被转换为XSD,只需要遵守WebService的统一标准即可。

3.部署、升级和维护Web服务简单、方便。

4.实现多数据、多服务的聚合。

5.成本低。

6.不受防火墙的影响。使用SOAP协议通信,封装了XML格式的数据,以ASCII文本的方式传输,而非二进制,调试方便,而且可以使数据容易的通过防火墙,不需要单独开通信端口。

总结:

WSDL、SOAP和UDDI(统一描述、发现和集成机制) 一起工作,支持WebService与Internet上的其他服务、应用程序和设备交互作用。UDDI提供了发布和定位Web服务功能(更多请自行了解),WSDL描述了Web服务,SOAP服务提供了传输消息。

申明:代码里(www.daimali.com)原创,转载请注明原文链接。

来源:代码里

链接:http://www.daimali.com/index.php/2016/05/03/448/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231046.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月1日 下午1:01
下一篇 2026年2月1日 下午1:22


相关推荐

  • ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter

    ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter用于执行增,删,改的方法,支持存储过程1.ExecuteNonQuery数据库连接字符串:privatereadonlystaticstringconnectionString=ConfigurationManager.ConnectionStrings["MyConnection"].ToString();连接字符串,自满足,请用SqlHelper.con…

    2022年6月20日
    34
  • arm指令移位指令

    arm指令移位指令arm指令移位指令LSL逻辑左移ASL算术左移LSR逻辑右移ASR算术右移ROR循环右移RRX带扩展的循环右移ASL和LSL是等同的,可以自由互换。你可以用一个立即值(从0到31)指定移位数量,或用包含在0和31之间的一个值的寄存器指定移位数量。 逻辑或算术左移(LSL)MOVR1,#1

    2022年5月5日
    103
  • 第3章-线性概率模型(1)-logistics/probit模型

    第3章-线性概率模型(1)-logistics/probit模型二值因变量模型在统计学中 有一种离散变量为二值变量 又称虚拟变量 哑变量 本文讨论的是当因变量 y 为二值变量时的模型 Logistic 模型也是一种二值因变量模型 探讨 Logistic 模型之前 我们先从线性概率模型 LinearProbab LPM 谈起 然后逐步介绍 Logistics 模型以及其他非线性模型

    2026年3月19日
    6
  • K均值聚类算法

    K均值聚类算法一 简介 K 均值聚类算法是先随机选取 K 个对象作为初始的聚类中心 然后计算每个对象与各个种子聚类中心之间的距离 把每个对象分配给距离它最近的聚类中心 聚类中心以及分配给它们的对象就代表一个聚类 每分配一个样本 聚类的聚类中心会根据聚类中现有的对象被重新计算 这个过程将不断重复直到满足某个终止条件 终止条件可以是没有 或最小数目 对象被重新分配给不同的聚类 没有 或最小数目 聚类中心再发生变化 误差平

    2026年3月19日
    3
  • mac docker安装部署_dcs教程视频教程

    mac docker安装部署_dcs教程视频教程最近电脑越来越卡了,为了减少系统开销,以及后期维护方便,所以考虑将本地安装一些服务迁移到docker中去管理,这一切的基础是要先有docker服务,所以本文就先记录怎样在mac上安装配置docker,

    2022年8月2日
    9
  • QT断点调试[通俗易懂]

    QT断点调试[通俗易懂]这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Ma…

    2022年5月21日
    685

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号