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

时间:2012-05-29 22:33:44

标签: java cxf jax-rs

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

2 个答案:

答案 0 :(得分:17)

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

答案 1 :(得分:4)

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

  1. 您可以向基地发送REST呼叫(例如,使用Postman) REST URL,它将自动为所有服务创建WADL 从那里可以得到。它可以帮助构建REST API。对于 例:
  2. CXF 3.0.0和2.7.11引入了java2wadl插件,用于在构建时生成WADL。可以找到详细信息here
  3. CXF关于WADL的所有可用功能都位于in CXF docs
  4. 在生成WADL之后,将XML转换为更易读的形式会很不错。我发现的解决方案之一是用于生成HTML的XSL用法。我使用过github project的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. 使用生成的<application ...>标头替换wadl.xml <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> - &gt; <wadl:resource>

      </resource> - &gt; </wadl:resource>

    6. 使用IE

    7. 打开wadl.xml
    8. 你会得到这样的东西(来自github project的example_wadl.xml): HTML page generated from WADL file