2012-05-15 3 views
0

Рассмотрим ситуацию, когда нам необходимо организовать услуги по администрированию WSO2 Carbon: AuthenticationAdmin и UserAdmin (через WSO2 BPS BPEL Process). служба AuthenticationAdmin для авторизованных пользователей возвращает JSESSIONID куки, которые должны быть использованы (впрыскивается в HTTP-запросов) в последующих вызовах (ListUsers() в UserAdmin, например). Однако, кажется, что HTTP куки не разделяет и используется для веб-сервисов, в том же домене:WSO2 BPS Shared HTTP Cookies

http://localhost:9443/services/AuthenticationAdmin 
http://localhost:9443/services/UserAdmin 

Любые мнения или решения проблемы?

ответ

0

Я думаю, проблема в том, что WSO2 BPS в настоящее время может получать доступ (получать/устанавливать) заголовки SOAP сообщения (а не заголовки HTTP), когда привязка к сервису является SOAP. Таким образом, вы можете использовать ESB перед BPS, так что cookie, возвращаемый из углерода, можно скопировать из HTTP-заголовка в пользовательский заголовок SOAP. Затем вы сможете получить доступ к нему через BPS и можете быть сохранены как переменная. Позже BPS может выполнять вызовы администратора с этим cookie в заголовке SOAP, а ESB может скопировать его в HTTP-заголовок. Вы можете узнать больше о HTTP-заголовке, доступном в Apache ODE/WSO2 BPS в потоке this.

+2

Мы работаем над решением s.t. процесс BPEL может ссылаться на административный процесс с использованием BasicAuth, и имя пользователя и пароль могут быть сконфигурированы в самом артефакте BPEL. Таким образом, это решение обеспечит способ использования административных услуг на основе углерода без выхода на ESB. Вы можете отслеживать ход выполнения этой работы с https://wso2.org/jira/browse/CARBON-13111 –

+0

Привет, Денис, спасибо за ваш ответ. В документации Apache ODE говорится, что они обрабатывают заголовки проводов через расширение BPEL. Поэтому, когда я переключаюсь на конечные точки службы HTTPS (login и listUsers), почему эта операция копирования BPEL не обменивает файл cookie JSESSIONID: ' ' – user416472

+0

Я думаю, что он упоминается в потоке, который я написал выше .." Атрибут заголовка присваивает заголовок абстрактному представлению сообщения. Представление, используемое для отправки этого сообщения, зависит от привязки службы. Связывание SOAP -> заголовок SOAP, привязка HTTP -> HTTP-заголовок (и это конкретный случай, когда привязка и транспорт одинаковы) Итак, если вызываемая вами служба использует SOAP-привязку, не ожидайте, что заголовок HTTP будет установлен ». – keheliya

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