转自:
http://www.cnblogs.com/zernyree/archive/2009/05/27/1491179.html
以前也曾经写过简单的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了。
通过上面的例子,对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
正文到此为止,欢迎拍砖。
分享到:
相关推荐
在《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》这本书中,作者李维精心编撰了一套系统而全面的教程,针对的是Delphi6和Kylix2这两个经典的Visual Basic derivative (VBD) 编程环境,尤其是针对SOAP(Simple ...
《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》是一本专注于使用Delphi 6和Kylix 2开发SOAP(简单对象访问协议)和Web Service应用的实战指南。这本书的源码提供了丰富的实例,帮助读者深入理解如何在这些编程...
8. **互操作性**: 使用SOAP和标准WSDL的Web Service具有高度的互操作性,这意味着无论使用哪种编程语言或平台,只要支持SOAP,都可以与之通信。这使得Delphi 6创建的Web Service能够与Java、.NET、PHP等其他平台的...
在SOAP/Web服务客户端开发中,有几个关键知识点需要理解: 1. **SOAP消息结构**:SOAP消息由三个主要部分组成:Envelope、Header和Body。Envelope定义了消息的结构,Header包含与处理相关的附加信息,Body则包含了...
**Delphi 6/Kylix 2 SOAP/Web Service程序设计篇** 在软件开发领域,SOAP(Simple Object Access Protocol)和Web服务是实现不同系统间通信的重要技术。本篇主要聚焦于使用Delphi 6和Kylix 2这两个早期的 Borland ...
2. **生成或导入WSDL**:如果你已经有了一个Web服务的WSDL文件,可以使用C++Builder的“Web Service Wizard”导入它,生成相应的客户端代理类。如果没有,你需要自己编写WSDL来描述你的服务。 3. **创建SOAP客户端*...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...
在"Delphi 6/Kylik2 soap/Web Service程序设计篇上册+代码"这个教程中,我们可以预期学习以下关键知识点: 1. **Delphi 6 IDE**:了解Delphi 6的界面、项目管理、代码编辑器、调试工具等基本功能,以及如何创建一个...
《C++ Builder 6 SOAP Web Service》是一本深入讲解如何使用C++ Builder 6开发SOAP(Simple Object Access Protocol)Web服务的专业书籍。SOAP是一种基于XML的协议,它允许应用程序通过Internet进行通信,使得不同...
部分内容:Web Service描述语言(WSDL)向这种WebService的提供商和用户推出了方便的协调工作的方法,使我们能更容易的获得SOAP的种种好处。 **重要知识点详解:** ### Web Service描述语言 (WSDL) Web Service描述...
**Web Service描述语言(WSDL)详解** Web Service描述语言(WSDL)是一种XML格式的规范,用于描述网络服务,特别是Web服务。WSDL文件定义了服务的位置、使用的消息协议以及如何调用这些服务。它是Web服务接口的...
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
Web Service描述语言 WSDL 详解
- `soap`: `http://schemas.xmlsoap.org/wsdl/soap/` - `http`: `http://schemas.xmlsoap.org/wsdl/http/` - `mime`: `http://schemas.xmlsoap.org/wsdl/mime/` - `soapenc`: `...
PHP实现的Web Services 完整实例,WSDL交互。 PHP.INI,请开启php_soap。 服务端:直接解压到网站根目录下,访问地址:http://localhost/hbj/wsdl.php?wsdl 客户端:http://localhost/hbj/Client.php ,显示hello ...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...
- 本书提供了多个实践案例,帮助读者理解和掌握SOAP Web Service 的开发流程。 - 涉及到的服务类型包括但不限于数据查询服务、业务逻辑处理服务等。 - **代码示例**: - 分析具体的代码片段,讲解如何利用C++...