WSDL 是描述 Web 服务的 XML 文档。它实际上代表 Web 服务描述语言。
SOAP 是一种基于 XML 的协议,可让您在应用程序之间通过特定协议(例如 HTTP 或 SMTP)交换信息。它代表简单对象访问协议,并使用 XML 作为其消息传递格式来传递信息。
REST 是一种网络系统的架构风格,代表 Representational State Transfer。它本身不是标准,但确实使用了 HTTP、URL、XML 等标准。
示例:简单来说,如果您有计算器的网络服务。
WSDL:WSDL 讲述了您可以实现或向客户端公开的功能。例如:加、删、减等。
SOAP:在使用 SOAP 时,您实际上执行了诸如 doDelete()、doSubtract()、doAdd() 之类的操作。所以 SOAP 和 WSDL 是苹果和橘子。我们不应该比较它们。它们都有自己不同的功能。
为什么我们使用 SOAP 和 WSDL:用于独立于平台的数据交换。
编辑:在一个正常的日常生活示例中:
WSDL:当我们去餐厅时,我们会看到菜单项,这些是 WSDL 的。
代理类:现在在看到菜单项之后,我们下定决心(处理我们对订购什么的想法):所以,基本上我们基于 WSDL 文档制作代理类。
SOAP:然后,当我们根据菜单实际点餐时:这意味着我们使用代理类来调用使用 SOAP 完成的服务方法。 :)
每次有人提到 SOAP/WSDL,我都会想到 xml 中定义的对象和类...
“您使用 SOAP 的方式与使用任何 PHP 类的方式相同。但是,在这种情况下,该类不存在于本地应用程序文件系统中,而是存在于通过 http 访问的远程站点中。” ...“如果我们将 SOAP 服务视为只是另一个 PHP 类,那么 WSDL 文档就是所有可用类方法和属性的列表。” http://www.doublehops.com/2009/07/07/快速入门教程与soap-in-php/comment-page-1/
..每当有人谈论 REST 时,我都会想到 HTTP 的命令(请求方法),例如 POST、GET 和 DELETE
SOAP -> SOAP(Simple object access protocal) 是为机器对机器交互创建的应用程序级协议。协议定义了标准规则。使用特定协议的所有各方都应遵守协议规则。与 TCP 一样,它在传输层展开,SOAP 协议将被应用层(任何支持 SOAP - Axis2、.Net 的应用程序)理解。
WSDL -> SOAP 消息由 SoapEnevelope->SoapHeader 和 SoapBody 组成。它没有定义什么是消息格式?它支持的所有传输(HTTP,JMS)是什么?如果没有此信息,任何想要使用特定 Web 服务的客户端都很难构造 SOAP 消息。即使他们这样做,他们也不确定,它会一直有效。 WSDL 是救命稻草。 WSDL(Web 服务描述语言)定义了 SOAP 消息的操作、消息格式和传输细节。
REST -> REST(Representational state transfer) 基于传输。与针对操作的 SOAP 不同,REST 更关注资源。 REST 通过使用 URL(例如 -http://{serverAddress}/employees/employeeNumber/12345)定位资源,并且它依赖于传输协议(使用 HTTP - GET、POST、PUT、DELETE,...)的操作对资源执行。 REST 服务根据 URL 定位资源并根据传输操作动词执行操作。它更多地基于建筑风格和惯例。
你不会“简单地”理解复杂的东西。
WSDL 是一种基于 XML 的语言,用于描述 Web 服务。它描述了服务使用的消息、操作和网络传输信息。这些 Web 服务通常使用 SOAP,但也可能使用其他协议。
WSDL 可由程序读取,因此可用于生成调用 Web 服务所需的全部或部分客户端代码。这就是将基于 SOAP 的 Web 服务称为“自描述”的意思。
REST 根本与 WSDL 无关。
SOAP 代表简单(原文如此)对象访问协议。它旨在成为一种通过 HTTP 发送 XML 来对远程对象进行远程过程调用的方法。
WSDL 是 Web 服务描述语言。以“.wsdl”结尾的对端点的请求将产生描述用户可以预期的请求和响应的 XML 消息。它描述了服务和客户之间的合同。
REST 使用 HTTP 向服务发送消息。
SOAP 是一种规范,REST 是一种风格。
维基百科说“Web 服务描述语言是一种基于 XML 的语言,它提供了描述 Web 服务的模型”。换句话说,WSDL 对于 Web 服务,就像 javadoc 对于 Java 库一样。
然而,关于 WSDL 的真正美妙之处在于,软件可以使用 WSDL 生成客户端和服务器。
REST 在编码方面是轻量级的,对于轻量级设备(即非严格 API)更有用。
REST 与格式无关。 XML、HTML、JSON 所有选项均可用。
REST 提供了 2 点消息传输的能力(这并不奇怪,因为 REST 代表 REpresentational State Transfer),其中 WSDL/SOAP 交互是多点消息交互。
REST 不需要 XML 消息的新扩展,而在 WSDL/SOAP 中就是这种情况。
WSDL/SOAP 使用多种传输协议,REST 仅依赖于 HTTP。因此 WSDL/SOAP 可以像 RESTful 方式一样使用,但是简单的请求可能过于复杂/过于繁重。
一个简单的类比:REST 就像一个摩托车男孩,可以轻松快捷地为您提供食物。 XML 扩展的 WSDL/SOAP 更像 UPS 交付,更结构化和更严肃的东西,但需要付出一定的代价。
WSDL 文档描述了一个 Web 服务。它使用以下主要元素指定服务的位置和服务的方法: 在 web 服务中使用的数据类型 每个操作的数据元素描述了可以执行的操作和涉及的消息
SOAP(简单对象访问协议)是一种消息传递协议,它允许在不同操作系统上运行的程序使用 http 和 xml 进行通信。
不定期副业成功案例分享
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
这真的没有解释它是什么......The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".