Web services NET中使用WADL而不是WSDL的Restful服务

Web services NET中使用WADL而不是WSDL的Restful服务,web-services,rest,wsdl,wadl,Web Services,Rest,Wsdl,Wadl,我使用WCF通过.svc文件在.NET中创建了一个restful web服务。web应用程序自动生成WSDL文件。另外,WADL对于restful web服务来说更为自然 如何在.NET中创建一个生成WADL描述的restful服务(最好使用wcf) 注意只要您指定合适的手册/教程,就可以接受类似“RTFM”的回答。请原谅我用问题回答问题,但您真的想做其他事情吗?REST真的不需要像WADL这样的东西 更新: “超媒体约束”(又名HATEOAS)规定用户代理根据嵌入在先前检索的内容中的链接发现

我使用WCF通过.svc文件在.NET中创建了一个restful web服务。web应用程序自动生成WSDL文件。另外,WADL对于restful web服务来说更为自然

如何在.NET中创建一个生成WADL描述的restful服务(最好使用wcf)


注意只要您指定合适的手册/教程,就可以接受类似“RTFM”的回答。

请原谅我用问题回答问题,但您真的想做其他事情吗?REST真的不需要像WADL这样的东西


更新:

“超媒体约束”(又名HATEOAS)规定用户代理根据嵌入在先前检索的内容中的链接发现内容。实际上,没有必要有一个单独的文档来描述所有可用的内容

想象一下,使用web浏览器访问一个站点,您将看到一个页面,该页面是站点上所有URL的列表,而不是转到主页并从主页进行导航。然后,您必须查看可用URL列表,选择您感兴趣的URL并将其复制到地址栏中。
WADL实际上是您的站点URL列表。如果你的主要内容链接在一起,你就不需要它了

链接内容而不是使用WADL“站点地图”还有其他优势。根据内容中的特定数据值,可用链接可以是动态的。这种功能可以大大降低客户端的复杂性,因为客户端不再需要承载逻辑来决定何时允许它跟随链接。

看起来应该这样做

在WADL开发者网站Marc Hadley上 维护名为的命令行工具 WADL2Java。休息的雄心勃勃的目标 描述和编译是为了提供排序 什么都有。那剩下什么呢 描述和编译的作用是:

  • 以完全交互的方式生成新的WADL文件。
  • 用于上载和编辑现有WADL文件
  • 允许您在各种编程中将WADL文件编译为源代码 语言

这是一个老生常谈的问题,但在使用了WADL的restful服务之后,它们确实提供了一些价值。您可以直接将它们导入SOAPUI,它将自动为您构建一个测试套件。其次,它们往往包含基于XML的服务所需的所有XSD,对于自动构建端点接受和接收的可序列化类非常有用。

正如wikipedia所说:“Web应用程序描述语言(WADL)是一种基于XML的文件格式,提供基于HTTP的web应用程序的机器可读描述。[…]WADL的目的是允许在internet(或任何其他IP网络)上提供服务以机器可处理的方式进行描述,以便更容易创建Web 2.0风格的应用程序,并创建创建和配置服务的动态方式。在此之前,有必要转到现有Web服务,研究它并手动编写应用程序。”因此,问题。。。虽然像svcutil这样的工具可以很容易地使用WSDL,但我也希望能够生成对开发人员有用的WADL文档。WSDL被认为更自然地适合于使用WSDL的restful WS。我弄错了吗?我从下面的评论中看到了你的答案:“如果客户端依赖于在设计时获得的服务描述,那么你的系统就不是RESTful的”——我想这就是你的意思吧?@imsasu Yes WADL比WSDL更适合RESTful web服务。我仍然不认为这是必要的,甚至不是有利的。这是一个非常有用的答案。如果你知道关于这个主题的一些教程,请随意将它们添加到上面的答案中。很抱歉,我刚刚通过尝试和错误发现了这些东西。就Soap UI而言,您只需创建一个新项目,然后选择一个WADL文件,就像您为Soap服务选择WSDL一样。我想这个问题是问如何在.NET中生成WADL而不是WSDL。你有解决办法吗?