标签: wadl

使用WADL的原因是什么?

为了描述RESTful,我们可以说每个资源都有自己的URI.使用HTTP GET,POST,PUT和DELETE,我们可以对这些资源进行操作.所有资源都具有代表性.谁想要使用我们的资源可以通过浏览器或REST客户端来实现.

这是RESTful架构的主要思想.这种架构允许互联网上的服务.那么为什么这个架构需要WADL呢?WADL提供的标准HTTP不是什么?为什么WADL需要存在?

rest wadl

79
推荐指数
6
解决办法
8万
查看次数

使用带有契约优先方法的泽西岛WADL /生成XSD的麻烦

我已经使用Jersey工作了几天的REST Web服务,并设法让所有CRUD操作工作,有几种交换格式:XML,JSON,Google Protobuf.

但是,我面临一些与自动生成的WADL和XSD相关的问题.


上下文

为了定义以这三种格式交换的对象,我遵循了"契约优先"的方法:

  • 从我写的XSD中,我使用JAXB生成了我的模型类;
  • 从我写的等效原型文件中,我生成了Google Protobuf类(并且内部有一种方法可以将这些转换为JAXB生成的对象,以便拥有一个独特的模型).

但是,由于我希望我的用户也能够生成他们的类,我想分享这些模式文件(.xsd和.proto)并将它们与自动生成的WADL很好地集成.

为此,感谢这个维基页面:

  • 我已经公开了这两个文件
    • /schema/schema.xsd
    • /schema/schema.proto
  • 我添加了一个应用程序语法文件:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <grammars xmlns="http://wadl.dev.java.net/2009/02" 
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:xi="http://www.w3.org/1999/XML/xinclude">
        <include href="../schema/schema.xsd" />
    </grammars>
    
    Run Code Online (Sandbox Code Playgroud)
  • 我添加了一个自定义的WADL生成器:

     public class RichWadlGeneratorConfig extends WadlGeneratorConfig {
        @Override
        public List<WadlGeneratorDescription> configure() {
            return generator(WadlGeneratorApplicationDoc.class)
                .prop("applicationDocsStream", "application-doc.xml")
                .generator(WadlGeneratorGrammarsSupport.class)
                .prop("grammarsStream", "application-grammars.xml")
                .descriptions();
        }
     }
    
    Run Code Online (Sandbox Code Playgroud)

这样,当我点击时,下面出现在WADL中/rest/application.wadl:

<grammars>
     <include href="../schema/schema.xsd"/>
     <include href="application.wadl/xsd0.xsd">
          <doc title="Generated" xml:lang="en"/>
     </include>
</grammars>
Run Code Online (Sandbox Code Playgroud)

问题

/rest/application.wadl/xsd0.xsd是从我的课程自动生成的,但与我最初的课程有很大的不同schema.xsd.除此之外,调用像wadl2java这个WADL 这样的工具失败了,大概是因为

  • /schema/schema.xsd …

java xsd jersey wadl contract-first

55
推荐指数
1
解决办法
6569
查看次数

WSDL 2.0,WADL和XRD之间的区别?

  • WSDL 2.0:www.w3.org/TR/wsdl20/
  • WADL www.w3.org/Submission/wadl/
  • XRD www.oasis-open.org/committees/download.php/35274/xrd-1.0-wd10.html

这三个都可以用作REST API描述符.有什么区别?我知道这是一个激烈的问题,但我只想进行比较,而不是火焰战:P

rest wsdl web-services wadl

40
推荐指数
2
解决办法
4万
查看次数

REST Web服务WSDL?

我正在实现一个Web服务,我已经实现了REST和SOAP版本,以查看哪个适合我的需求.我决定选择REST因为它的简单性,我可能会开发一个iPhone应用程序来使用它.我的问题很简单,是否可以为我的REST服务创建WSDL或WADL,是否有必要?

谢谢

rest soap wsdl web-services wadl

39
推荐指数
2
解决办法
8万
查看次数

如何为REST服务生成WADL

我有一个Web应用程序,为客户提供30多个REST服务(使用Jersey).是否可以为我的应用程序自动创建WADL文档?

我需要这个,以便我可以在SoapUI中配置它来测试各种场景并保存以供以后使用.

java testing rest jax-rs wadl

35
推荐指数
3
解决办法
8万
查看次数

为什么缓慢的WADL吸收?

我一直在研究WADL,并想知道为什么它没有被更广泛采用?

随着REST使用率的增长,我很惊讶更多的开发工作不会使用它.

它的设计是否存在根本缺陷,它是否与通常围绕RESTful Web服务的文化相匹配,还是完全不同于其他东西?

rest wadl

28
推荐指数
2
解决办法
7558
查看次数

RESTful Web服务自动生成WADL

我在C#中创建了一个RESTful Web服务,并将其部署到IIS.当我访问服务HeadOffice.svc时,我可以选择查看WSDL(HeadOffice.svc?wsdl).我想做的是可以选择查看WADL(例如HeadOffice.svc?wadl).这可能吗?

我已经阅读了一般意见认为这不是最佳做法的地方.但是,我需要WADL作为学校作业,所以任何帮助都会非常感激.

c# wadl auto-generate

24
推荐指数
1
解决办法
3万
查看次数

如何从WADL文件生成C#代码?

我正在寻找一个代码生成器,而不是生成C#代码来访问WADL文件描述的RESTful Web服务,其方式与wadl2java的工作方式类似.

做som搜索我遇到了关于Google Code 的rest-api-code-gen项目,但是虽然最新的源代码实际上支持C#,但REST Describe&Compile演示站点却没有.(C#按钮在那里,但它已被禁用.)

我意识到我可以下载源代码并使用最新版本设置我自己的服务器,但我不愿意,因为我需要的是命令行工具,而不是依赖于Google Web Toolkit的Web应用程序.我想我可以根据相同的源代码编写自己的命令行工具,但如果已经完成,或者其他工具可以完成这项工作,我宁愿避免使用它.

所以,我想知道,有那样的工具吗?

c# code-generation web-services wadl

19
推荐指数
1
解决办法
1万
查看次数

这几天如何wadl2java?

我很难找到命令行工具将WADL转换为java.无论我尝试谷歌多少,请关注博客或java.net文档,没有真正的下载链接.(链接被破坏或过时).

什么特定的供应商,社区组正在提供此工具?是否存在免费下载链接?

生成的代码应该能够从XML响应中重建POJO并在Tomcat 7中生存.谢谢

答:(这只适用于2011年6月之后):

  • 以Apache-CXF-2.4.1.zip为例(不是任何早期版本)
  • 将其解压缩到根文件夹
  • 以Apache-CXF-2.4.1.src.zip为例
  • 在src中搜索名为distribution的文件夹
  • 提取ditribution文件夹并将其合并,不覆盖根文件夹
  • 转到bin并发现wadl2java.bat
  • 从命令提示符运行wadl2java.bat
  • 继续没有脑子细节

java eclipse rest web-services wadl

17
推荐指数
2
解决办法
2万
查看次数

来自WADL的宁静客户

是否有任何方法可以自动生成一个带有HttpUrlConnection的jax-rs客户端或者第三方解决方案,如jersey,apache,restlet等.拥有一个框架/应用程序不是一个优势吗?

rest jax-rs wadl

17
推荐指数
2
解决办法
3万
查看次数