4

我有使用 CXF 实现的工作 JAX-RS 服务。如何生成 wadl?或者已经有类似球衣 http://path.to.your/restapp/application.wadl的东西了?是否有一个 maven 插件,就像 wsdl、java 到 wsdl?我已经搜索了无法找到的答案。

4

2 回答 2

17

如果您使用的是最新版本的 CXF,只需使用 ?_wadl 参数访问该服务。

于 2012-05-29T23:04:03.497 回答
4

使用 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 转换为更易读的形式。我发现的解决方案之一是使用 XSL 生成 HTML。我使用了来自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.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 页面

于 2014-05-30T09:51:15.970 回答