Menu Close
6.7. camel-soap-rest-bridge
シンプルな Camel ルートは REST 呼び出しをレガシー SOAP サービスにブリッジできます。クイックスタートサンプルは、camel-soap-rest-bridge
コンポーネントと Camel の REST DSL を使用して、バックエンドの SOAP API サービスを公開する方法を示すために提供されます。
このクイックスタートでは、RH SSO を基盤とする REST エンドポイントと SOAP エンドポイントの両方にセキュリティーが関係します。フロントエンド REST API は OAuth および OpenID Connect で保護され、クライアントは「Resource Owner Password Credentials」OAuth2 モードを使用して RH SSO から JWT (JSON Web トークン) アクセストークンを取得します。クライアントは、このトークンを使用して REST エンドポイントにアクセスします。
ブリッジ Camel ルートでは、クライアントアイデンティティーは SecurityContext から伝播され、camel-cxf producer
がバックエンド WS-SECURITY protected SOAP サービスと通信する際に、最初にこのクライアントアイデンティティーを使用して CXF STS サービス (Identity Provider として RH SSO を基盤とする) によって発行された SAML2 トークンを取得します 。SAML2 トークンは署名され、WS-SECURITY ヘッダーに追加され、バックエンド WS-SECURITY で保護された SOAP サービスはこの SAML2 トークンを検証します。
SOAP 呼び出しには、XSD スキーマ検証も含まれます。トークンの検証に成功すると、バックエンド SOAP サービスはリクエストを開始した REST クライアントにレスポンスを返します。
前提条件
- JBoss EAP 7.3 以降のバージョンがインストールされている。
- Apache Maven 3.3.x 以降のバージョンがインストールされている。
- RH SSO 7.4 がインストールおよび設定されている。https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.4/html/getting_started_guide/installing-standalone_#installing-server-product のインストール手順に従います。
- RH SSO EAP アダプターがインストールされている。https://access.redhat.com/documentation/en-us/red_hat_single_sign-on/7.4/html/getting_started_guide/securing-sample-app_#installing-client-adapter のインストール手順に従います。
クイックスタートの設定
- スタンドアロンモードで JBOSS EAP を起動します。
-
EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
に移動します。 -
mvn clean install -Pdeploy
を入力し、クイックスタートをビルドおよびデプロイします。 RH-SSO の設定
- admin/admin を username/password として使用して、http://localhost:8180/auth から RH SSO 管理コンソールにログインします。
- Add realm をクリックします。
- Select file をクリックします。
- このサンプルフォルダーの ./src/main/resources/keycloak-config/realm-export-new.json を選択します。これは、事前定義されたこのサンプルに必要な realm/client/user/role をインポートします。
- Create をクリックします。
Fuse on EAP のクイックスタートサンプル
クイックスタートの実行とテストケースの結果に関する追加情報が含まれるこのクイックスタートサンプルは、Fuse on EAP インストールの EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
ディレクトリーで入手できます。
アンデプロイ
サンプルをアンデプロイするには、EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
ディレクトリーに移動し、mvn clean -Pdeploy
を実行します。