7.6. CXF JAX-WS クイックスタートのデプロイ
この例では、Red Hat Fuse on EAP で camel-cxf コンポーネントを使用して、Elytron セキュリティードメインによって保護された JAX-WS Web サービスを生成および消費する方法を示します。Elytron は EAP 7.1 から利用可能な新しいセキュリティーフレームワークです。このクイックスタートでは、Camel ルートはダイレクトエンドポイントからメッセージペイロードを取得し、それを CXF プロデューサーエンドポイントに渡します。プロデューサーはペイロードを使用して、BASIC HTTP 認証によって保護された CXF JAX-WS Web サービスに引数を渡します。
前提条件
- Maven がインストールされ、設定されていることを確認している。
- Red Hat Fuse を使用するアプリケーションサーバーがインストールされ、設定されていることを確認している。
手順
JBOSS_HOME
環境変数を設定して、アプリケーションサーバーインストールのルートディレクトリーを参照します。Linux の場合
export JBOSS_HOME=...
Windows の場合:
set JBOSS_HOME=...
add-user
スクリプトを使用して、新しいサーバーアプリケーションのユーザーおよびグループを作成します。Linux の場合
${JBOSS_HOME}/bin/add-user.sh -a -u testUser -p testPassword1+ -g testRole
Windows の場合:
%JBOSS_HOME%\bin\add-user.bat -a -u testUser -p testPassword1+ -g testRole
スタンドアロンモードでアプリケーションサーバーを起動します。
Linux の場合
${JBOSS_HOME}/bin/standalone.sh -c standalone-full.xml
Windows の場合:
%JBOSS_HOME%\bin\standalone.bat -c standalone-full.xml
このプロジェクトの
webapp/WEB-INF
ディレクトリーのjboss-web-xml
およびweb.xml
ファイルは、アプリケーションセキュリティードメイン、セキュリティーロール、および制約を設定します。
プロジェクトをビルドしてデプロイします。
mvn install -Pdeploy
このコマンドは、セキュリティードメインおよびその他の管理オブジェクトを作成する CLI スクリプト
configure-basic-security.cli
も呼び出します。http://localhost:8080/example-camel-cxf-jaxws-secure/
を参照します。Send A Greeting というタイトルのページが表示されます。この UI を使用すると、すでに起動しているテスト用の greeting Web サービスと対話できます。サービス WSDL は、
http://localhost:8080/webservices/greeting-security-basic?wsdl
で利用できます。message と name という名前の 2 つの String パラメーターを取る greet という名前のサービス操作が 1 つあります。Web サービスを呼び出すと、これらの値が共にリンクされている応答が返されます。
Camel Secure CXF JAX-WS
クイックスタートのテスト
- http://localhost:8080/example-camel-cxf-jaxws-secure/ を参照します。
Send A Greeting Web フォームで、テキストフィールドに メッセージ と 名前 を入力し、送信 ボタンを押します。
入力した情報が UI に挨拶文として表示されます。
CamelCxfWsServlet
は、Web UI からの POST 要求を処理します。パラメーターの値からメッセージおよび名前を取得し、オブジェクトアレイを構築します。このオブジェクト配列は、direct:start
エンドポイントに送信されるメッセージペイロードです。ProducerTemplate
はメッセージペイロードを Camel に送信します。The direct:start
エンドポイントはオブジェクトアレイをcxf:bean
Web サービスプロデューサーに渡します。Web サービスの応答は、CamelCxfWsServlet
が Web UI に挨拶文を表示するために使用されます。src/main/webapp/WEB-INF/cxfws-security-camel-context.xml
ファイルにある完全な Camel ルートが表示されます。
クイックスタートのアンデプロイ
以下のコマンドを実行して、クイックスタートをアンデプロイします。
mvn clean -Pdeploy