什么是WSDL,SOAP和REST?

什么是WSDL ? 它与SOAP有什么关系? REST在哪里适合?

WSDL是描述Web服务的XML文档。 它实际上代表Web服务定义语言。

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

REST是networking系统的体系结构风格,代表具象状态转移。 它本身并不是一个标准,而是使用诸如HTTP,URL,XML等标准。

每次有人提到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

例如:如果你有一个计算器的networking服务,简单来说就是这样。

WSDL:WSDL讲述您可以实现或向客户端公开的function。 例如:添加,删除,减去等。

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

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

SOAP代表简单(sic)对象访问协议。 它旨在成为通过HTTP发送XML来远程对象远程过程调用的一种方法。

WSDL是Web服务描述语言。 以“.wsdl”结尾的请求将导致描述请求和响应的XML消息。 它描述了服务与客户之间的契约。

REST使用HTTP将消息发送到服务。

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

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

WSDL – > SOAP消息由SoapEnevelope-> SoapHeader和SoapBody组成。 它没有定义什么是消息格式? 它支持的所有传输(HTTP,JMS)是什么? 没有这个信息,任何想要使用特定Web服务的客户端都很难构buildSOAP消息。 即使他们这样做,他们也不会确定,它会一直工作。 WSDL是救援。 WSDL(Web服务描述语言)定义了SOAP消息的操作,消息格式和传输细节。

REST – > REST(具象状态传输)基于Transport。 与针对动作的SOAP不同,REST更关注资源。 REST通过使用URL(示例-http:// {serverAddress} / employees / employeeNumber / 12345)来查找资源,并且依赖于传输协议(使用HTTP-GET,POST,PUT,DELETE等)在资源上执行。 REST服务根据URL定位资源,并根据传输动作动词执行动作。 这是更多的build筑风格和惯例的基础。

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

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

WSDL可以被程序读取,因此可以用来生成调用Web服务所需的全部或部分客户端代码。 这就是调用基于SOAP的Web服务“自我描述”的意思。

REST根本与WSDL无关。

维基百科说:“Web服务描述语言是一种基于XML的语言,为描述Web服务提供了一个模型”。 换句话说,WSDL是一个Web服务,因为javadoc是一个Java库。

但WSDL的真正甜蜜之处在于,软件可以使用WSDL生成客户端和服务器。

一些清晰的解释(对于SOAP和WSDL)也可以在这里find。

SOAP消息和WSDL之间的区别?

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

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

REST为WSDL / SOAP交互是多点消息交互提供了2点消息传输的能力(因为REST代表了REpresentational State Transfer,这并不令人惊讶)。

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

WSDL / SOAP使用多个传输协议,REST仅依靠HTTP。 因此,WSDL / SOAP可以像RESTful一样使用,但是简单的请求可能过于复杂/繁重。

一个简单的比喻:REST就像一个motoboy让你的食物轻松快捷。 XML扩展WSDL / SOAP更像UPS交付,更结构化和严肃的东西,但带来了成本。

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

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