繁体   English   中英

从现有的CXF休息服务生成wadl

[英]Generate wadl from existing CXF rest service

我使用CXF实现了JAX-RS服务。 我怎样才能生成wadl? 或者有没有像泽西http://path.to.your/restapp/application.wadl那样的东西? 有没有像wsdl,java到wsdl的maven插件? 我找到了找不到的答案。

如果您使用的是最新版本的CXF,只需使用?_wadl参数点击该服务即可。

使用CXF生成WADL有很多种可能的方法:

  1. 您可以将REST调用(例如,使用Postman )发送到基本REST URL,它将自动为那里提供的所有服务创建WADL。 它可以帮助构建REST API。 例如:
  2. CXF 3.0.0和2.7.11引入了java2wadl插件,用于在构建时生成WADL。 细节可以在这里找到。
  3. CXF关于WADL的所有可用功能都位于CXF文档中

在生成WADL之后,将XML转换为更易读的形式会很不错。 我发现的解决方案之一是用于生成HTML的XSL用法。 我从github项目中使用过XSL。 将XSL链接到XML并生成漂亮的HTML报告的步骤:

  1. 下载wadl.xsl;
  2. 将wadl.xsl复制到包含由CXF生成的wadl.xml文件的文件夹;
  3. 将所需的标头添加到文件的最开头的wadl.xml:

    <?xml version="1.0" encoding="UTF-8"?>

    <?xml-stylesheet type="text/xsl" href="wadl.xsl"?>

  4. 使用<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wadl.dev.java.net/2009/02 wadl.xsd ">替换wadl.xml生成的<application ...>标头<wadl:application xmlns:wadl="http://wadl.dev.java.net/2009/02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://wadl.dev.java.net/2009/02 wadl.xsd ">

  5. 添加到每个标记'wadl'命名空间。 例如:

    <resource> - > <wadl:resource>

    </resource> - > </wadl:resource>

  6. 使用IE打开wadl.xml

  7. 你会得到这样的东西(来自github项目的 example_wadl.xml): 从WADL文件生成的HTML页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM