我无法理解为什么WSDL会如此有益,而事实是服务定义不是人类可读的,并且大多数开发人员将使用自动化工具来使用它来生成应用程序中的对象。为什么服务提供商不容易定义简单的XML模式,只需在文档中告诉我我可以获得什么以及如何获得它?我理解整个“通用定义”。方面,但这一切似乎都太复杂了我。社交网站的大多数API都使用基本的RESTful架构,他们所做的就是为您提供将要获取的数据的架构表示。说真的,我一定在这里遗漏了一些东西。

有帮助吗?

解决方案

有一段时间,WSDL很受欢迎,我确信许多公司(以及大型SOA系统)的内部工具,WSDL仍在使用中。但是你是对的,一旦它“点击场景”,REST的采用已经使WSDL离开地图了一段时间。

以Amazon S3为例。它们提供WSDL和REST API。我曾在某处读过,有98%的S3用户正在使用REST API,亚马逊正在考虑放弃WSDL支持。

REST很干净。 WSDL通常依赖于其他工具来解析它,或者为应用程序自动构建函数以从WSDL提供的服务中受益。通过利用HTTP而不依赖于更多内容,REST还具有更自然的优点。一个你将SOAP融入混合体以及与WSDL一起使用的许多其他缩写词,你最终会得到很多东西....

其他提示

那么“简单的XML架构”是什么?您是否会建议让这些工具提供与现在相同级别的代码生成支持?

我认为WSDL设计师会争辩说他们已经提供了最简单的模式,这些模式暴露了他们所需要的一切。我不是说我必须同意,但能够自动生成客户端是非常强大的。

对我来说,WSDL似乎是过度设计的“洋葱架构”的另一个例子,就像原始的Java EJB一样。很多层次和眼泪。

首先,WSDL是自动化工具用于生成对象的东西。它已经是一种非常简单的XML格式,但我开始相信,一种易于编写XML的工具将永远不会存在。我不认为有人说这是一个比REST更好的协议,但它首先出现,有很好的工具支持(Visual Studio完全它在创建和使用服务时抽象出来),它是一个标准所以它可能会保持流行一会儿。

此链接可以帮助您。

http://www.prescod.net/rest/rest_vs_soap_overview/

这是一个很好的资源,可以帮助那些不了解SOAP与REST争用的人。它们是不同的工具。使用它们,以便以最有效的方式解决您的问题。

WSDL是XML表示文件,是任何外部系统与您的Web服务进行通信的通信标准,无论其实现技术或平台如何。仅供参考,RESTful服务可以使用名为WADL的定义语言文件来描述服务。所以,它不仅仅是关于webservices。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top