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 客户端的响应。
先决条件
- 已安装 JBoss EAP 7.3 或更高版本。
- 已安装 Apache Maven 3.3.x 或更高版本。
- 已安装并配置了 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
- 已安装 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的安装说明操作
设置快速启动
- 以单机模式启动 JBOSS EAP。
-
导航到
EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
-
输入
mvn clean install -Pdeploy
以构建和部署快速入门。 配置 RH SSO
- 从 http://localhost:8180/auth 登录 RH SSO 管理控制台,使用 admin/admin 作为用户名/密码
- 点 Add realm
- 点 Select file
- 在本示例文件夹中选择 ./src/main/resources/keycloak-config/realm-export-new.json,这会在此示例中导入预定义的必要的 realm/client/user/role
- 点 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
。