【发布时间】: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