簡體   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