具有跨域请求的重复Flex会话

当我在本地提出请求时,我没有任何问题维护我的FlexSession; 但是,当我从另一台计算机发出请求时,它会为每个请求创建重复的FlexSession。 我注意到每个请求的JSESSIONID都不同,这可能会导致欺骗性会话。

但我不知道为什么会这样。 我得到的具体错误是:

Channel.Ping.Failed error Detected duplicate HTTP-based FlexSessions, generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly. 

我的crossdomain.xml如下:

        

编辑:

我们在后端使用spring-flex集成。 此外,这发生在多个浏览器中; 我们尝试过IE,Firefox和Chrome。

这是Flex代码:

 var ro : RemoteObject = new RemoteObject("myDestination"); ro.endpoint = "http://localhost/foo"; ro.source = "com.bar.MyService"; var op : AbstractOperation = ro.getOperation("serviceMethod"); op.addEventListener( FaultEvent.FAULT, ro_faultHandler ); op.addEventListener( ResultEvent.RESULT, ro_resultHandler ); op.send(); 

有三篇文章描述了会发生什么。 这些文章是由一些在BlazeDS上工作的人编写的,你应该能够在阅读之后解决问题。 如果没有,尝试创建一个function测试再现问题,我会看一看。

亚历克斯的博客
Mete的博客
林的博客