带有基于休息的服务的WSDL有什么意义?

Exi*_*tos 5 c# rest wcf web-services

如果基于REST的Web服务就像GETing和POST到url一样简单并解析响应,那么我们需要一个wsdl吗?重点是什么.我知道当使用基于SOAP的服务时,它用于构造SOAP请求和响应,但是当我创建基于REST的服务时,不明白为什么visual studio为我提供了wsdl ...

Dar*_*ler 6

WSDL旨在允许客户端主要在设计时发现服务功能.REST具有超媒体约束,要求所有服务功能都应该在运行时通过它们返回的链接表示形式被发现.

适当的REST服务自然是可发现的,因此不需要另外的WSDL规范.


Lad*_*nka 4

使用 WCF 创建的 REST 服务在 WSDL 中没有任何意义,因为 WCF 仅支持 WSDL 1.1(或 1.0),而它无法描述 REST 服务。如果您尝试使用为 WCF REST 服务生成的 WSDL 来创建客户端代理,您将无法调用该服务。REST 的 Visual Studio 模板不会公开元数据,因此只有您自己添加 serviceMetada 行为(也可能还有 mex 端点),您才会获得无用的 WSDL。

WSDL 2.0 和 WADL 支持 REST 服务的描述,这一点与 SOAP 服务类似 - 描述您可以使用服务做什么,但以 REST 方式。