如何使用 S4 Cloud SDK 连接访问 RabbitMQ 后面的目标服务



我们正在使用 S4SDK 访问目标服务。 它需要在多租户环境中工作。通常,如果应用是前端应用,则请求上下文由用户请求触发。使用应用程序路由器和 XUAA 访问具有多租户的目标服务是可行的。 在我们的例子中,我们的应用程序位于RabbitMQ后面,它不是由用户请求(例如REST API调用)触发的。目前,我们正在使用来自云SDK的类com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor。我们可以从消息中检索租户 ID(RabbitMQ/AMQP)。问题是我们找不到一种方法来注入租户 ID 或将 JWT 令牌从 S4SDK 克隆到 DestinationAccessor 中。我们寻找如何实现这一目标的方法/指导。我们希望此交换/克隆令牌由 SDK 提供。

您应该能够为此目的使用 JwtBasedRequestContextExecutor。

new JwtBasedRequestContextExecutor()
.withJwt(encodedJwt)
.execute(() -> {
// code using the SAP Cloud SDK
});

最新更新