Как получить доступ к службе назначения, которая находится за RabbitMQ, используя S4 Cloud SDK Connectivity

Мы используем S4SDK для доступа к службе назначения. он должен работать в многопользовательской среде. Обычно, если приложение является приложением внешнего интерфейса, контекст запроса запускается по запросу пользователя. Доступ к службе назначения с несколькими арендаторами возможен через approuter и XUAA. В нашем случае наше приложение находится за RabbitMQ, который не инициируется пользовательским запросом (например, вызовом REST API). В настоящее время мы используем класс com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor из облачного SDK. мы можем получить идентификатор арендатора из сообщения (RabbitMQ/AMQP). Проблема в том, что мы не можем найти способ внедрить идентификатор арендатора или клонировать токен JWT в DestinationAccessor из S4SDK. Мы ищем способ / руководство о том, как этого добиться. Мы ожидаем, что этот токен обмена / клона предоставляется SDK.

1 ответ

Решение

Вы должны быть в состоянии использовать JwtBasedRequestContextExecutor для этой цели.

new JwtBasedRequestContextExecutor()
    .withJwt(encodedJwt)
    .execute(() -> {
        // code using the SAP Cloud SDK
    });
Другие вопросы по тегам