【问题标题】:CXF JAX-RS client proxy not maintaining cookiesCXF JAX-RS 客户端代理不维护 cookie
【发布时间】:2013-04-19 14:51:31
【问题描述】:

我正在使用 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。我已经搜索了高低,但我似乎无法找出如何。我希望有人能给我举个例子。提前致谢!

【问题讨论】:

    标签: java rest cxf jax-rs


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-05
      • 2013-01-19
      相关资源
      最近更新 更多