Как получить доступ к службе назначения, которая находится за 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.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
113
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Другие вопросы по теме