你的位置:首页 > ASP.net教程

[ASP.net教程]轻松搞懂WebService工作原理


 

用更简单的方式给大家谈谈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: 是以

2. WSDL : 是使用

     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.编程语言无关系。 基于

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

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

5.成本低。

6.不受防火墙的影响。使用SOAP协议通信,封装了

 

总结:

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

 

 

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

来源:代码里

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