2017-01-09 5 views
0

私は、いくつかの異なるプロバイダからWebサービスを消費するJava/Springのレイヤーを作成することになっています。これらのサービスは特定のリクエストBeanを定義しますが、エンドポイントはXSD情報を公開しません。JavaでRESTful APIを消費し、アーティファクトを生成します。

これらのサービスを使用するために必要な成果物を生成する最も良い方法は何ですか?私たち自身のリクエストオブジェクトを構築することは、物事を行う最善の方法ではないようです。

答えて

2

RESTサービスは、従来のSOAPサービスのWSDLとしてXSDを提供していません。いくつかのRESTフレームワークはWADLを提供しています。サービスを記述するためにSwagger.ioを利用するかもしれませんし、Spring bootsアクチュエータ/ドキュメントのようなドキュメントを公開するかもしれません。

このようなドキュメンテーションがなく、統合しようとしているシステムのソースコードを入手できない場合は、独自のJava POJOを構築して、入力された方法でサービスとインターフェースできるようにすることをお勧めします。 私は、文書化されたRESTサービスを公開する(オンラインで)複数のシステムに対して行ってきましたが、それらを消費する際に使用できる一連のDTOは提供していません。

+0

ありがとうございました。これは私が行くことを決めたルートです。公開されていませんが、私は各サービスの内部XSDファイルを与えられており、これらの成果物を構築するためにjaxb2-maven-pluginを使用しています。 –

+0

XSDをお使いの場合は、コード生成ツール(jaxb2-maven-plugin)を使用してクラスを作成する必要があります。コード生成でコード内に@WebServiceClientアノテーションが残っている可能性があることに注意してください。JavaEEサーバにデプロイすると効果があります。 –

+0

ありがとうございます。今私が持っている問題は、XSDファイルの中に名前の衝突があり、生成が失敗することです。私は複数のスキーマを構成できることを発見しましたが、非常に多くのXSDファイルではこれは不合理なようです。各XSD生成クラスが引数を超えて名前空間に入る方法はありますか? –

関連する問題