6.7. camel-soap-rest-bridge

简单的 Camel 路由可以将 REST 调用桥接到传统的 SOAP 服务。提供了快速入门示例,以演示将 camel-soap-rest-bridge 组件与 Camel 的 REST DSL 搭配使用,以公开后端 SOAP API 服务。

在这个快速入门中,安全性同时涉及 REST 端点和 SOAP 端点,它们都由 RH SSO 支持。frontend REST API 通过 OAuth 和 OpenID Connect 保护,客户端将使用"Resource Owner Password Credentials" OAuth2 模式从 RH SSO 获取 JWT (JSON Web Token)访问令牌。客户端将使用此令牌来访问 REST 端点。

在 bridge Camel 路由中,客户端身份从 SecurityContext 传播,当 camel-cxf producer 与后端 WS-SECURITY 保护的 SOAP 服务通信时,它将使用此客户端身份来获取 CXF STS 服务发布的 SAML2 令牌(由 RH SSO 作为身份提供程序支持)。SAML2 令牌已签名并添加到 WS-SECURITY 标头中,后端 WS-SECURITY 保护 SOAP 服务将验证此 SAML2 令牌。

SOAP 调用也包含 XSD 架构验证。如果令牌验证成功,后端 SOAP 服务会返回发起请求的 REST 客户端的响应。

先决条件

  1. 已安装 JBoss EAP 7.3 或更高版本。
  2. 已安装 Apache Maven 3.3.x 或更高版本。
  3. 已安装并配置了 RH SSO 7.4 - 按照安装说明 https://access.redhat.com/documentation/zh-cn/red_hat_single_sign-on/7.4/html/getting_started_guide/installing-standalone_#installing-server-product
  4. 已安装 RH SSO EAP 适配器 - 按照 https://access.redhat.com/documentation/zh-cn/red_hat_single_sign-on/7.4/html/getting_started_guide/securing-sample-app_#installing-client-adapter的安装说明操作

设置快速启动

  1. 以单机模式启动 JBOSS EAP。
  2. 导航到 EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
  3. 输入 mvn clean install -Pdeploy 以构建和部署快速入门。
  4. 配置 RH SSO

    1. http://localhost:8180/auth 登录 RH SSO 管理控制台,使用 admin/admin 作为用户名/密码
    2. Add realm
    3. Select file
    4. 在本示例文件夹中选择 ./src/main/resources/keycloak-config/realm-export-new.json,这会在此示例中导入预定义的必要的 realm/client/user/role
    5. Create

EAP 上的 Fuse 中的快速入门示例

此快速入门示例包含关于在 EAP_HOME/quickstarts/camel/camel-soap-rest-bridge 目录的 Fuse 上安装中运行 Quickstart 和 test 案例结果的额外信息。

取消部署

要取消部署示例,请导航到 EAP_HOME/quickstarts/camel/camel-soap-rest-bridge 目录,并运行 mvn clean -Pdeploy