Web services 为什么我要使用WSDL来描述Web服务?

Web services 为什么我要使用WSDL来描述Web服务?,web-services,wsdl,Web Services,Wsdl,我很难理解为什么WSDL会如此有用,而事实是服务定义不是人类可读的,大多数开发人员都会使用自动化工具来使用它在应用程序中生成对象。为什么服务提供商不更容易定义一个简单的XML模式,并在文档中告诉我可以得到什么以及如何得到它?我理解整个“普遍定义”的方面,但对我来说,这一切似乎过于复杂了。大多数社交网站的API都使用基本的RESTful架构,它们所做的只是为您返回的数据提供模式表示。说真的,这里我肯定遗漏了一些东西。那么,您会提出什么样的“简单XML模式”来让工具提供与现在相同级别的代码生成支持呢

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

那么,您会提出什么样的“简单XML模式”来让工具提供与现在相同级别的代码生成支持呢


我认为WSDL设计者会争辩说,他们已经给出了他们所能提供的最简单的模式,该模式公开了他们所需要的一切。我不是说我一定会同意,但是能够自动生成客户机是非常强大的。

曾经,WSDL很流行,我确信对于许多公司(和大型SOA系统)的内部工具,WSDL仍然在使用。但您是对的,REST的采用使WSDL在“出现在场景中”之后就有点脱离了地图

以AmazonS3为例。它们提供了WSDL和RESTAPI。我在某个地方读到,98%的S3用户正在使用RESTAPI,Amazon正在考虑放弃WSDL支持


休息是干净的。WSDL通常依赖于其他工具来解析它,或者为您的应用程序自动构建函数,以从WSDL提供的服务中获益。REST还有一个好处,就是通过利用HTTP变得更加自然,不再真正依赖任何东西。当您将SOAP和许多其他与WSDL一起使用的首字母缩略词混合在一起时,您最终会得到很多……WSDL是XML表示文件,是任何外部系统与您的Web服务进行通信的通信标准,无论其实现技术或平台如何。仅供参考,RESTful服务也可以使用一个名为WADL的定义语言文件来描述服务。因此,这不仅仅是关于Web服务的。

此链接应该可以帮助您


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

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

首先,WSDL是自动化工具用来生成对象的工具。它已经是一种非常简单的XML格式,但我开始相信,一种可以轻松编写XML的工具永远不会存在。我不认为有人说它比REST更好,但它首先问世,具有强大的工具支持(VisualStudio在创建和使用服务时将其完全抽象出来),而且它是一个标准,所以它可能会流行一段时间。

我要说的是,REST和类似WSDL/SOAP的服务有不同的用途/领域,它们的强度有所不同。链接似乎已经过时了。请在这里张贴答案,即使它至少是一个摘要。