【问题标题】:Duplicate Flex Sessions With Cross-Domain Requests具有跨域请求的重复 Flex 会话
【发布时间】:2011-07-07 17:01:31
【问题描述】:

当我在本地发出请求时,维护我的 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如下:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

编辑:

我们在后端使用 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();

【问题讨论】:

  • 显示发出请求的代码。

标签: java session flex4 cross-domain blazeds


【解决方案1】:

共有三篇文章描述了发生的事情。这些文章是由一些从事 BlazeDS 工作的人撰写的,您应该能够在阅读后解决您的问题。如果没有,请尝试创建一个重现问题的功能测试,我会看看。

Alex's blog
Mete's blog
Lin's blog

【讨论】:

    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 2019-12-04
    • 2012-10-31
    • 2017-01-12
    • 2013-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多