2016-05-04 7 views
1

Я использую SpringTemplate Spring 4 с HttpComponents от Jakarta 4.3 для реализации клиента для удаленного веб-сервиса. Клиент использует Basic Auth по защищенной цепи. Все работает отлично, но теперь мы переходим к режиму, в котором имя пользователя для подключения будет зависеть от содержимого запроса.Клиент службы RESTful с данными, не зависящими от данных

До сих пор пул HttpClientConnectionManager, по-видимому, игнорировал учетные данные при определении того, действительно ли существующее соединение является действительным для нового запроса на соединение - оно строго зависит от маршрута. Таким образом, первый вызов удаленной службы отлично работает. Второй вызов возвращается с «недопустимыми учетными данными». Изучение журналов показывает, что оба вызова используют одинаковые заголовки аутентификации.

Любые предложения относительно того, как с этим справиться? Я надеялся, что PoolingHttpClientConnectionManager будет поддерживать именованные пулы, фактически позволяя использовать имя пользователя в качестве имени пула. Кажется, это не так. Я попытался использовать несколько объектов PoolingHttpClientConnectionManager, но фактический пул соединений является общим.

ответ

1

Итак, вернемся к этому 10 месяцев спустя, потому что кому нравится вопрос без ответа?

Мы создали создание отдельного PoolingHttpClientConnectionManager для каждого возможного набора учетных данных. Не красивое техническое решение, но оно сработало.

Смежные вопросы