Answers:
WSDL是描述Web服务的XML文档。它实际上代表Web服务描述语言。
SOAP是基于XML的协议,可让您在应用程序之间通过特定协议(例如,可以是HTTP或SMTP)交换信息。它代表简单对象访问协议,并使用XML作为其消息传递格式来中继信息。
REST是网络系统的体系结构样式,代表代表状态转移。它本身不是标准,但确实使用HTTP,URL,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".
示例:简单来说,如果您有计算器的Web服务。
WSDL:WSDL告诉您可以实现或公开给客户端的功能。例如:加,删除,减等。
SOAP:与使用SOAP一样,您实际上会执行诸如doDelete(),doSubtract(),doAdd()之类的操作。因此,SOAP和WSDL是苹果和橙子。我们不应该将它们进行比较。它们都有各自不同的功能。
我们为什么使用SOAP和WSDL:用于平台无关的数据交换。
编辑:在正常的日常生活示例中:
WSDL:当我们去餐厅时,我们会看到菜单项,这些就是WSDL。
代理类:现在,在看到菜单项之后,我们就下定决心(处理定购事项):因此,基本上,我们基于WSDL Document来创建代理类。
SOAP:然后,当我们根据Menu的实际订购食物时:意味着我们使用代理类来调用使用SOAP完成的服务方法。:)
每当有人提到SOAP / WSDL时,我都会想到xml中定义的对象和类。
“使用SOAP的方式与使用任何PHP类的方式相同。但是,在这种情况下,该类不存在于本地应用程序文件系统中,而是位于通过http访问的远程站点上。” ... “如果我们考虑将SOAP服务用作另一个PHP类,则WSDL文档是所有可用类方法和属性的列表。”
..每当有人谈论REST时,我都会想到HTTP的命令(请求方法),例如POST,GET和DELETE
SOAP-> SOAP(简单对象访问协议)是为机器对机器交互而创建的应用程序级别协议。协议定义标准规则。使用特定协议的所有各方都应遵守协议规则。像TCP一样,它在传输层展开,应用程序层(支持SOAP的任何应用程序-Axis2,.Net)将理解SOAP协议。
WSDL-> SOAP消息由SoapEnevelope-> SoapHeader和SoapBody组成。它没有定义什么是消息格式?它支持哪些传输(HTTP,JMS)?没有此信息,对于想要使用特定Web服务的任何客户端来说,构造SOAP消息都是很困难的。即使他们这样做,他们也不确定,它会一直工作。WSDL可以解决。WSDL(Web服务描述语言)定义了SOAP消息的操作,消息格式和传输详细信息。
REST-> REST(表示状态传输)基于传输。与以动作为目标的SOAP不同,REST更关注资源。REST通过使用URL(例如-http:// {serverAddress} / employees / employeeNumber / 12345)定位资源,并且该操作取决于传输协议(使用HTTP-GET,POST,PUT,DELETE等)。在资源上执行。REST服务根据URL定位资源,并根据传输动作动词执行动作。它更多地基于建筑风格和惯例。
SOAP代表简单(原文如此)对象访问协议。它旨在作为一种通过HTTP发送XML来对远程对象进行远程过程调用的方法。
WSDL是Web服务描述语言。对端点以'.wsdl'结尾的请求将导致一条XML消息,描述使用可能期望的请求和响应。它描述了服务与客户之间的合同。
REST使用HTTP将消息发送到服务。
SOAP是一种规范,REST是一种样式。
REST在编码方面是轻量级的,对于轻量级设备(即非严格的API)更有用。
REST是独立于格式的。XML,HTML,JSON所有选项均可用。
REST提供了两点消息传输的能力(这并不奇怪,因为REST代表REpresentational State Transfer),其中WSDL / SOAP交互是多点消息交互。
REST不需要XML消息的新扩展名,在WSDL / SOAP中就是这种情况。
WSDL / SOAP使用多种传输协议,REST仅依靠HTTP。因此,可以像RESTful方式一样使用WSDL / SOAP,但是简单的请求可能过于复杂/过重。
一个简单的比喻:REST就像是一个motoboy,可以轻松快捷地为您提供食物。XML扩展了WSDL / SOAP,更像是UPS交付,结构更复杂,内容更严格,但要付出一定的代价。
也可以在此处找到一些清晰的解释(针对SOAP和WSDL)。