白痴理解的SOAP/Web Service/WSDL关系

简介: 白痴理解的SOAP/Web Service/WSDL关系 白痴理解的SOAP/Web Service/WSDL关系       以前也曾经写过简单的WebService,但是并没有深入的研究,这两天看了园子里的一些文章,又请教了身边的高人,把SOAP、Web Serv...

白痴理解的SOAP/Web Service/WSDL关系

白痴理解的SOAP/Web Service/WSDL关系       以前也曾经写过简单的WebService,但是并没有深入的研究,这两天看了园子里的一些文章,又请教了身边的高人,把SOAP、Web Service和WSDL的关系大概搞明白了,举例说明如下:

      X局有两个副局长A和B,A副局长分管财务,B副局长分管计划生育,但是A副局长是上海人,B副局长是广东人,两个人又都只会说自己家乡的方言,不会说普通话,这让下面的工作人员在请示汇报的时候非常困难,为了解决这个问题,局里的科员小c发明了一个表格,表格列出了需要向局长请示的问题以及说明这个问题所需要的数据等等(这个是SOAP的雏形),采用这种方式之后,工作人员就可以在需要向领导请示工作的时候直接填写表格,然后把表格交给相应的局长就可以了。后来X局的直属上级机关Y部的领导发现了这个方式,决定推广这种方式,将这种“表格描述问题”的方式升级为规范(或者称为“协议”),在所有Y部下属单位中执行,这个时候就是SOAP了。

      后来X局又出现了新的问题,科员小d到分管计划生育的B局长那里领TT(嘿嘿,yy一下),但是TT没有了,需要进行采购,这个时候就需要与分管财务的A局长打交道了,由于小d对工作流程不太了解,不知道A、B副局长在这个问题上分别承担什么职责,又产生了困难。这时小c再次发挥了他的聪明才智,他又发明了一种表格,这个表格专门说明某位领导分管什么工作,都有哪些职责(Web Service),在请示每个问题上应该提供什么样的材料和数据,会得到什么样的反馈,这个就是WSDL了。

http://www.cnblogs.com/zernyree/archive/2009/05/27/1491179.html

     通过上面的例子,对SOAP/Web Service/WSDL关系说明如下:

Web Service实现业务诉求:Web Service是真正“办事”的那个。
WSDL提供“能办的事的说明”:我想帮你的忙,但是我要告诉你我都能干什么,以及干这些事情需要的参数类型。
SOAP提供“请求”的规范:你想让人家办事,总得告诉人家你想干什么吧,SOAP就是定义这个“请求”的格式的,按照SOAP定义的“请求”格式“书写”请求就可以保证Web Service能够正确的解读你想让它干什么以及你为它提供了什么参数。在这个请求中,你需要描述的主要问题有:向哪个Web Service发送请求,请求的参数类型、参数值、返回值类型。这些都“填写”完毕,也就完成了符合SOAP规范的SOAP消息。
      

      以上是本人暂时对SOAP/Web Service/WSDL三者关系到目前为止的浅显理解,最后把两个缩写名词的英文给出来吧:

SOAP:Simple Object Access Protocol
WSDL:Web Services Description Language
相关文章
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
250 0
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
328 2
|
XML Java 网络架构
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
使用 Spring Boot 公开 SOAP Web 服务端点:详细指南
1874 0
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
177 0
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
296 0
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
195 0
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
418 0
|
7月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
604 4
|
11月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!