передать переменную среды назначения в ErpCommand - PullRequest
1 голос
/ 23 апреля 2019

Я определил место назначения переменной среды и хочу передать имя пользователя / пароль в ErpCommand. Я использую параметр ErpConfigContext только с именем получателя, и, конечно, получаю ошибку: Не удалось получить текущего пользователя: пользователь не аутентифицирован. Мой пункт назначения определен так:

направления: | [{"name": "ErpQueryEndpoint", URL: "https://something.s4hana.ondemand.com", username: "user", пароль: "pass", "forwardAuthToken": true, свойства: [{key: "TrustAll", значение: "true"}]}]

Вызов работает без команд Hystrix, я хотел бы добиться того же результата с Hystrix.

1 Ответ

1 голос
/ 23 апреля 2019

Попробуйте также определить переменную среды ALLOW_MOCKED_AUTH_HEADER со значением true для запуска этого локально / в непроизводственных сценариях (или USE_MOCKED_TENANT & USE_MOCKED_USER).

Это необходимо, потому что команда Hystrix по умолчанию является арендатором и изолирована от пользователя. В качестве альтернативы, если вам не нужна эта изоляция и все в порядке с автоматическими выключателями и т. Д., Охватывающими арендаторов и пользователей, вы также можете изменить настройки Hystrix по умолчанию при определении команды, используя класс HystrixUtil . В конструкторе вашей команды используйте код, подобный следующему:

super(HystrixUtil.getDefaultErpCommandSetter(YourCommand.class)
    .andCommandKey(HystrixCommandKey.Factory.asKey(
        HystrixUtil.getGlobalKey(YourCommand.class))));
...