0

考虑我们需要编排 WSO2 Carbon 管理服务的场景:AuthenticationAdminUserAdmin(通过WSO2 BPS BPEL 流程)。经过身份验证的用户的AuthenticationAdmin服务返回JSESSIONID cookie,该 cookie 应在后续调用(例如UserAdmin中的listUsers() )中使用(在 HTTP 请求中注入)。但是,似乎 HTTP cookie没有共享并用于同一域中的 Web 服务:

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

对问题有任何意见或解决方案吗?

4

1 回答 1

0

我认为这里的问题是,当服务绑定是 SOAP 时,WSO2 BPS 当前只能访问(获取/设置)消息的 SOAP 标头(而不是 HTTP 标头)。因此,您可以在 BPS 前面使用 ESB,以便从 carbon 返回的 cookie 可以从 HTTP 标头复制到自定义 SOAP 标头。然后,您将能够通过 BPS 访问它并可以将其存储为变量。稍后 BPS 可以使用 SOAP 标头中的此 cookie 进行管理调用,ESB 可以将其复制到 HTTP 标头。您可以在此线程中阅读有关在 Apache ODE/WSO2 BPS 中访问 HTTP 标头的更多信息。

于 2012-05-16T10:48:04.533 回答