使用基于rest的服务的WSDL有什么意义

本文关键字:什么 WSDL 服务 rest | 更新日期: 2023-09-27 17:59:40

如果基于REST的web服务像获取和发布url并解析响应一样简单,那么我们到底需要wsdl吗?有什么意义。我知道在使用基于SOAP的服务时,它是用来构造SOAP请求和响应的,但我真的不明白为什么在创建基于REST的服务时visualstudio会为我提供wsdl。。。

使用基于rest的服务的WSDL有什么意义

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

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

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

WSDL2.0和WADL支持对REST服务的描述,这一点与SOAP服务类似——描述您可以用REST的方式对服务做什么。

没有意义。WSDL只是服务公开内容以及如何调用的标准化描述。您不需要WSDL,但您需要某种方式来记录可以对服务执行的操作,以便客户端知道如何调用它。