6.7. camel-soap-rest-bridge
简单的 Camel 路由可以将 REST 调用桥接到旧 SOAP 服务。提供了 Quickstart 示例,演示使用 Camel 的 REST DSL( Camel 的 REST DSL)使用 camel-SOAp-rest-bridge
组件来公开后端 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 保护的 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
以构建和部署 Quickstart。 配置 RH SSO
- 从 http://localhost:8180/auth 使用 admin 作为用户名/密码登录 RH SSO Admin Console
- 点 Add realm
- 点 Select file
- 选择 ./src/main/resources/keycloak-config/realm-export-new.json,该示例将导入预定义所需的 realm/client/user/role。
- 点 Create
EAP 上的 Fuse 中的 Quickstart 示例
此快速入门示例包含有关运行快速启动和测试案例结果的附加信息,可在 EAP 安装中使用 EAP 安装( EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
目录)。
取消部署
要取消部署示例,请导航到 EAP_HOME/quickstarts/camel/camel-soap-rest-bridge
目录,并运行 mvn clean -Pdeploy
。