This content has been marked as final. Show 7 replies
Does your URL have the same domain as the Http swf calls?
Yes, the "works in dev, but not in production" problem is almost always a security sandbox issue.
As Lon indicates, a swf hosted in a normal browser instance can only access data sources from the *exact* same domain that served the swf. In development, Flex Builder hides this behavior and permits most any access.
To access an asset on a different domain, that other domain must provide a crossdomain.xml file.
If this is your issue, check the archives, Flex documentation and google for more information.
I do not use the same domain for the swf and the http call, but I already have a crossdomain.xml. With <allow-access-from domain="*"/> inside.
The crossdomain policy is guaranteed to eat up your time. The latest version of the flash player made this even harder by requiring the port 843 for socket connections. Don't get me wrong it's all good security wise, but until it works it can be a pain. Try this is a crossdomain.xml file:
<?xml version="1.0" ?>
<!-- use this directive to open the cross domain policies to unrestricted access
Also have a read of this article: http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html. It's long, but worth it.
Thanks this is a good hint. I hope I can fix it soon. I report whether this was the issue.
I changed the crossdomain.xml as you said, but it was getting worse. I can't reach the HTTP service and on top the WSDL cannot be loaded.
faultCode:Channel.Security.Error faultString:'Security error accessing url' faultDetail:'Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL ( http://www.....wsdl)'
But still everything works fine on the local machine with the bin-debug swf, but neither on the internet not the bin-release files work well.
Sorry I have no idea.
<allow-http-request-headers-from domain="*" headers="*"/>