CXFで実装されたJAX-RSサービスを使用しています。どうすればwadlを生成できますか?または、ジャージ http://path.to.your/restapp/application.wadlのようなものはすでにありますか?wsdl、javaからwsdlのようなMavenプラグインはありますか?答えを探しましたが見つかりませんでした。
2 に答える
最新バージョンのCXFを使用している場合は、?_wadlパラメーターを使用してサービスをヒットするだけです。
CXFを使用してWADLを生成する方法はたくさんあります。
- (たとえば、Postmanを使用して)REST呼び出しをベースREST URLに送信すると、そこから利用可能なすべてのサービスのWADLが自動的に作成されます。これは、RESTAPIの構造化に役立ちます。例えば:
- http://app.com/purchase/?_wadl-購入API用のWADLを作成します
- http://app.com/profile/?_wadl-ユーザープロファイルAPIのWADLを作成します
- CXF 3.0.0および2.7.11では、ビルド時にWADLを生成するためのjava2wadlプラグインが導入されています。詳細はここにあります。
- WADLに関するCXFの利用可能なすべての機能は、CXFドキュメントにあります。
WADLが生成された後、XMLをより読みやすい形式に変換すると便利です。私が見つけた解決策の1つは、HTMLを生成するためのXSLの使用法でした。githubプロジェクトのXSLを使用しました。XSLをXMLにリンクし、きれいなHTMLレポートを生成する手順:
- wadl.xslをダウンロードします。
- wadl.xslを、CXFによって生成されたwadl.xmlファイルを含むフォルダーにコピーします。
必要なヘッダーをwadl.xmlのファイルの先頭に追加します。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="wadl.xsl"?>
を使用して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 ">
すべてのタグ「wadl」名前空間に追加します。例えば:
<resource>
-><wadl:resource>
</resource>
-></wadl:resource>
IEを使用してwadl.xmlを開きます
次のようなものが得られます(githubプロジェクトのexample_wadl.xml ):