繁体   English   中英

CXF JAX-RS客户端代理不维护cookie

[英]CXF JAX-RS client proxy not maintaining cookies

我正在使用CXF为JAX-RS REST服务构建客户端代码。 遗憾的是,此REST服务依赖于cookie来验证每个请求并维护其他关键会话状态。 访问用户的帐户信息涉及两个请求:一个用于登录,另一个用于获取帐户信息。 在第一个请求中检索的会话cookie必须与第二个请求一起发送。

这是我的代码。

// Login (POST /sessions)
Response response = proxy.login(userCredentials);
assertEquals(200, response.getStatus());

// Get user's account info (GET /user)
response = proxy.getUser();
User user = response.readEntity(User.class);

第二个请求未通过身份验证,因为它不包含先前登录操作返回的必需会话cookie。

我相信有一种方法可以配置WebClient来维护跨请求的cookie。 我搜索了高低,但我似乎无法找出如何。 我希望有人可以给我一个例子。 提前致谢!

我终于找到了解决方案。 在使用代理之前我必须执行以下操作。

WebClient.getConfig(proxy).getRequestContext().put(
        org.apache.cxf.message.Message.MAINTAIN_SESSION, Boolean.TRUE);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM