首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从HTTP服务获取HTTP会话

从HTTP服务获取HTTP会话
EN

Stack Overflow用户
提问于 2010-01-03 21:28:34
回答 1查看 5.8K关注 0票数 2

我们有一个构建在Tomcat 6/WebWork/Hibernate/SQL服务器堆栈上的web应用程序。

web应用程序的一个部分是使用Flare工具包( Flare的前身是Prefuse)构建的网络图。网络地图数据是通过say服务调用(比如getData() )检索的。此调用由Flare应用程序进行,以检索需要显示的XML数据。webservice本身就是使用Apache CXF开发的。

我正在尝试弄清楚如何在指定为out服务的方法中获得HTTP会话。我之所以需要这样做,是因为我需要跨客户端(Flare应用程序) webservice请求维护服务器端数据。

我是否需要使用基本的servlet API获取HTTP会话(知道正在使用CXF servlet )?或者,是否有CXF级别的API支持?

webservice本身在Tomcat6中运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-07 01:12:16

这实际上是JAX-WS规范的一部分。你可以做到

代码语言:javascript
复制
@Resource 
WebServiceContext ctx;

....

ctx.getMessageContext().get(MessageContext.SERVLET_REQUEST)

来获取ServletRequest对象,您可以从该对象对会话或其他任何东西执行任何操作。

注意:默认情况下,JAX-WS客户端不维护会话cookie。您必须设置它们以维护会话:

代码语言:javascript
复制
((BindingProvider)proxy).getRequestContext()
  .put(BindingProvider.SESSION_MAINTAIN_PROPERTY, "true");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1994948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档