webservice客户端会话管理

时间:2014-06-05 15:33:20

标签: java spring web-services session jax-ws

所以我正在构建这个Webservice客户端,Webservice(服务器)要求我维护一个会话并使用客户端生成的唯一密钥(不是JSESSIONID),仅用于该会话。所以我做了很明显的事。

((BindingProvider)service).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);

现在这很好用,我存储了唯一的密钥,JSESSIONID是标题等的一部分。

我遇到的问题是,当我想创建一个新会话时。因此,另一个用户登录,我创建一个新的唯一键,授权用户并获得一个新的JSESSIONID。授权调用似乎仍然将其他JSESSIONID添加到标头中,因此Web服务拒绝该调用。我不知道如何告诉我的客户服务创建一个新会话?我只是去new Service.getPort()并使用该实例(似乎不是最佳做法)?我可以创建一个带有原型范围的Spring bean(似乎没有用,但也许我已经确定了错误的bean)?我甚至尝试从头文件中删除JSESSIONID,但是当我处理消息时它似乎永远不存在。如果您需要任何东西(日志/痕迹/代码),只需大喊,我就会编辑帖子。

0 个答案:

没有答案