When I make a request locally, I have no problem saving my FlexSession; however, when I make a request from another computer, it creates a duplicate of FlexSession for each request. I noticed that the JSESSIONID is different for every request, which probably causes fake sessions.
But I have no idea why this is happening. The specific error I get is:
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.
My crossdomain.xml is as follows:
<?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>
EDIT:
We use spring-flex integration on the server. In addition, this occurs in several browsers; we tried IE, Firefox and Chrome.
Here is the Flex code:
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();
source share