什么是 WSDL、 SOAP 和 REST?

什么是 WSDL? 它与 SOAP有什么关系? 休息在其中的位置是什么?

225378 次浏览

SOAP 代表简单(原文如此)对象访问协议。它是一种通过 HTTP 发送 XML 对远程对象执行远程过程调用的方法。

WSDL 是 Web 服务描述语言。请求结束。Wsdl’到端点将导致 XML 消息,该消息描述使用可能期望的请求和响应。它描述了服务与客户之间的契约。

REST 使用 HTTP 向服务发送消息。

SOAP 是一种规范,REST 是一种风格。

你不会“简单地”理解一些复杂的东西。

WSDL 是一种用于描述 Web 服务的基于 XML 的语言。它描述服务使用的消息、操作和网络传输信息。这些 Web 服务通常使用 SOAP,但也可能使用其他协议。

程序可以读取 WSDL,因此可以用来生成调用 Web 服务所需的全部或部分客户机代码。这就是将基于 SOAP 的 Web 服务称为“自描述”的含义。

REST 与 WSDL 完全没有关系。

WSDL 是描述 Web 服务的 XML 文档,它实际上是 Web 服务描述语言的缩写。

SOAP 是一种基于 XML 的协议,允许您通过特定的协议(例如 HTTP 或 SMTP)在应用程序之间交换信息。它代表简单对象访问协议(Simple Object Access Protocol) ,并使用 XML 作为其消息传递格式来传递信息。

REST 是网络系统的架构风格,代表 REST。它本身并不是一个标准,但确实使用了 HTTP、 URL、 XML 等标准。

Wikipedia 说“ Web 服务描述语言是一种基于 XML 的语言,它提供了描述 Web 服务的模型”。换句话说,WSDL 指向 Web 服务,就像 javadoc 指向 java 库一样。

不过,WSDL 真正有趣的地方在于,软件可以使用 WSDL 生成客户机和服务器。

每当有人提到 SOAP/WSDL 时,我都会想到 xml 中定义的对象和类..。

”您使用 SOAP 的方式与使用任何 PHP 类的方式相同。但是,在这种情况下,类不存在于本地应用程序文件系统中,而是存在于通过 http 访问的远程站点上。” ... “如果我们认为使用 SOAP 服务只是另一个 PHP 类,那么 WSDL 文档就是所有可用类方法和属性的列表。”

Http://www.doublehops.com/2009/07/07/quick-tutorial-on-getting-started-with-soap-in-php/comment-page-1/

. . 每当有人谈论 REST 时,我就会想到 HTTP 的命令(请求方法) ,比如 POST、 GET 和 DELETE

这里也可以找到一些明确的解释(关于 SOAP 和 WSDL)。

SOAP 消息和 WSDL 之间的区别?

REST 在编码方面是轻量级的,对于轻量级设备(即非严格的 API)更加有用。

REST 是独立于格式的。 XML、 HTML、 JSON 所有选项都可用。

REST 提供了2点消息传输功能(这并不奇怪,因为 REST 代表 REST) ,其中 WSDL/SOAP 交互是多点消息交互。

REST 不需要 XML 消息的新扩展,在 WSDL/SOAP 中就是这种情况。

WSDL/SOAP 使用多种传输协议,REST 只依赖于 HTTP。因此 WSDL/SOAP 可以像 RESTful 方式一样使用,但是简单的请求可能过于复杂/重量级。

一个简单的比喻: REST 就像一个摩托车男孩轻松快捷地给你送来食物。XML 扩展了 WSDL/SOAP,更像 UPS 传递,更加结构化和严肃,但是也有代价。

示例: 如果您有一个计算器的 Web 服务,用一个简单的术语。

WSDL: WSDL 说明可以实现或向客户机公开的函数。例如: 添加,删除,减法等等。

SOAP: 在使用 SOAP 时,您实际执行了 doDelete ()、 doSubtract ()、 doAdd ()等操作。所以 SOAP 和 WSDL 是苹果和橘子。我们不应该比较他们。它们都有各自不同的功能。

为什么我们使用 SOAP 和 WSDL: 用于平台独立的数据交换。

编辑: 在一个日常生活中的例子:

WSDL: 当我们去一家餐馆时,我们看到的菜单项是 WSDL 的。

代理类: 现在,在看到菜单项之后,我们下定决心(处理我们下定单的决心) : 所以,基本上我们是基于 WSDL 文档来创建代理类的。

SOAP: 然后当我们实际上根据菜单点菜的时候: 这意味着我们使用代理类来调用使用 SOAP 完成的服务方法。:)

SOAP-> SOAP (简单对象访问协议)是为机器间交互创建的应用程序级协议。协议定义了标准规则。所有使用特定协议的各方都应遵守协议规则。与 TCP 一样,它在传输层展开,SOAP 协议将被应用层(任何支持 SOAP-Axis2的应用程序)理解。网)。

WSDL-> SOAP 消息由 SoapEndevelope-> SoapHeader 和 SoapBody 组成。它没有定义什么是消息格式?它支持哪些传输(HTTP,JMS) ?没有这些信息,任何希望使用特定 Web 服务的客户机都很难构造 SOAP 消息。就算他们知道,他们也不确定,这招一直有效。WSDL 是救援。WSDL (Web 服务描述语言)定义 SOAP 消息的操作、消息格式和传输细节。

REST-> REST (REST)是基于传输的。与针对操作的 SOAP 不同,REST 更关注资源。REST 通过使用 URL (例如-HTTP://{ serverAddress }/員工/EmployeeNumber/12345)定位资源,并且它依赖于传输协议(使用 HTTP-GET、 POST、 PUT、 DELETE,...)对资源执行的操作。REST 服务根据 URL 定位资源,并根据传输操作谓词执行操作。它更多的是基于架构风格和约定的。

WSDL 文档描述 Web 服务。它使用这些主要元素指定服务的位置和服务的方法: 在 webservice 中使用的数据类型 每个操作的数据元素 描述可以执行的操作和所涉及的消息

SOAP (简单对象访问协议)是一种消息传递协议,允许在不同操作系统上运行的程序使用 http 和 xml 进行通信。