Menu Close

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 と共にアプリケーションサーバーがインストールされ、設定されていることを確認します。

手順

  1. JBOSS_HOME 環境変数を設定して、アプリケーションサーバーインストールのルートディレクトリーを参照します。

    • Linux の場合

      export JBOSS_HOME=...
    • Windows の場合:

      set JBOSS_HOME=...
  2. 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
  3. スタンドアロンモードでアプリケーションサーバーを起動します。

    • 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 ファイルは、アプリケーションセキュリティードメイン、セキュリティーロール、および制約を設定します。

  4. プロジェクトをビルドしてデプロイします。

    mvn install -Pdeploy

    このコマンドは、セキュリティードメインおよびその他の管理オブジェクトを作成する CLI スクリプト configure-basic-security.cli も呼び出します。

  5. http://localhost:8080/example-camel-cxf-jaxws-secure/ を参照します。

    Send A Greeting というページが表示されます。この UI を使用すると、すでに起動しているテスト greeting Web サービスと対話できます。サービス WSDL は http://localhost:8080/webservices/greeting-security-basic?wsdl で利用できます。

    greet という名前のサービスオペレーションが 1 つあり、messagename という 2 つの String パラメータを取ります。Web サービスを呼び出すと、これらの値がリンクされている応答が返されます。

Camel Secure CXF JAX-WS クイックスタートのテスト

  1. http://localhost:8080/example-camel-cxf-jaxws-secure/ を参照します。
  2. Send A Greeting Web フォームで message および name をテキストフィールドに入力し、send ボタンを押します。

    入力された情報は、UI の挨拶文として表示されます。CamelCxfWsServlet は、Web UI からの POST 要求を処理します。パラメーター値からメッセージおよび名前を取得し、オブジェクトアレイを構築します。このオブジェクト配列は、direct:start エンドポイントに送信されるメッセージペイロードです。ProducerTemplate はメッセージペイロードを Camel に送信します。The direct:start エンドポイントはオブジェクトアレイを cxf:bean Web サービスプロデューサーに渡します。Web サービスの応答は、CamelCxfWsServlet が Web UI に挨拶文を表示するために使用されます。完全な Camel ルートは src/main/webapp/WEB-INF/cxfws-security-camel-context.xml ファイルで確認できます。

クイックスタートのアンデプロイ

  1. 以下のコマンドを実行してクイックスタートをアンデプロイします。

    mvn clean -Pdeploy