問題
- WSDL (Web サービス記述言語) 記述子があり、それからクライアントを構築する必要があります。 最後に、このサービス (クライアント) を Liferay インスタンスにインストールされたすべてのアプリケーションで利用できるようにします。
Environment
- ライフレイ DXP 7.x
- wsimport Oracle JDK 8 からの ツール。
解決策
SOAP クライアントの実装
SOAP サービスを呼び出すには、SOAP プロトコルを介してリモート サービスと対話できるようにするインターフェイスとなるスタブを作成する必要があります。
必要なすべての Java コードを WSDL ドキュメントから作成するには、通常は wsimport ツールを使用します。
この時点で、あとは wsimport コマンドを実行するだけです。このコマンドの出力は、Java クラス (スタブ) の生成になります。 これで、SOAP クライアントを実装するために必要なものがすべてそろいました。
JAX-WS API と CXF エンドポイントの構成
これまで見てきたことは、これら 2 つのコンポーネントが Liferay システムで構成されるまで機能しませんでした。
- CXF エンドポイント
- JAX-WS API
この構成は、Liferay インスタンスで SOAP サービスを開発して公開することにした場合にのみ必要です。
SOAP クライアントとして動作する場合でも、これら 2 つのコンポーネントを構成して、JAX-WS プロバイダーが正しく構成され、エラーが発生することなく JAX-WS API を使用できるようにする必要があります。
CXF と JAX-WS の構成、特にコンテキスト パスは、次の Liferay 記事で参照できます: JAX-WS-and-JAX-RS
追加情報
- この記事は、Antonio Musarra の記事から抜粋したものです: https://www.dontesta.it/en/2019/09/05/how-to-implement-a-soap-client-using-jax-ws-liferay-インフラ/