Flex - Why Is Flash Demanding A Crossdomain.xml File When The .swf And Http Target Are Both On Localhost
Jun 3, 2011
I've got a small client/server test application where I have a Flex app that makes an HTTP request of a server app. The server app is a script running on my local machine, listening on port 8001. The client is a swf that I am running locally, and uses mx.rpc.http.HTTPService to make the page request.
The HTTPService is being set up as per below:
_HttpService = new HTTPService();
_HttpService.url = "http://localhost:8001";
_HttpService.contentType = "text/xml";
When I make a basic page request, my server app is first receiving a "GET /crossdomain.xml HTTP/1.1" request, which is failing since I don't have a crossdomain.xml file in place. The reason I don't have one in place is because this is all happening on my local machine (for now) and I shouldn't need one (I don't think).
I definitely had this code working before without a crossdomain.xml when I was using Flex 3.x. I thought I had it working with Flex 4 as well. Now I'm using Flex 4.5. Is there an issue here, possibly due to security policy changes?With all of this happening on localhost, why is the Flash player requesting a crossdomain.xml file?
We have a lot of crossdomain.xml files at my company. Every service that has Flash availability needs one. Keeping them in sync is annoying, so I'd like to be able to have just one crossdomain.xml file hosted somewhere, and then http redirect (302) all the requests to that central location. Is this possible? I can't find documentation anywhere on the web about the rules.
First off, I'm trying to fix something that I didn't build to begin with and the guy who's project it was assures me it was working fine when he left, although a version I haven't touched since he left seems to have the same issues. I'm also a bit new to programming in general so let me know if I've left out important information in my first post and I will try to add more info.
I have a flash application hosted on-line that acts as a client for a server application written in Delphi. Most of the communication is done using sockets, which work fine. Uploading data files and downloading results files is done using HTTP requests, which work fine as long as the user is making use of an instance of the server on another computer. However, if the user has the server application installed on their own computer and attempts to use it specifying localhost as the url, the socket communication still works, but the HTTP requests don't.
All the socket based communication works fine and, when it is not on the localhost, all the HTTP requests work fine as well, which is why this is so mystifying to me. I've tried changing the flash cross-domain policy file that the server dispatches to be completely permissive, all ports, all domains, all http-request-headers, and still no luck. The Flash app will sit waiting for localhost indefinitely most of the time until I close the server application, and then give this error message:
How can I consume a webservice that hasn't explicitely created a crossdomain.xml? I understand it's for security and to prevent cross-site scripting, but it does seem like a major limitation to the Flex framework. For example, if I want to consume a webservice, which is suppose to be language agnostic, then I can't with Flex. The webservice/server has to be specifically prepared for Flex/Flash. If it's not, then it cannot be consumed.
I have a database file I need to send to a PHP controller for synchronization. I can access the standard file upload methods in AS3 but they all require user interaction. I need this take place behind the scenes.
I am trying to do a "hello world" level test of FTP in Flex, but for three days now, I cannot overcome the issue with how to coerce flex into accepting my crossdomain policy - even for testing purposes.Here is my code: The exact error text follows.
I have an issue with an asmx service I am trying to access. No crossdomain file. I read there is a way around this using HTTPService instead of a webservice. Still cannot load the wsdl. See code below.
var dataService:HTTPService = new HTTPService(); dataService.url = "http://flexmappers.com/proxy.php?url=http://www.server.net/carbon.asmx";[code]....
In a market where everyone gets a cut, adobe is claiming that charging will make flash better, but from where I am standing it makes it worse. For example if I am using flash to develop a Facebook game, Facebook already takes a 30 percent cut, then on top of it having to pay 9 percent to adobe? that's a huge deal and an immediate turn off.Now they say that air will be unaffected, but I can only assume that if air on mobile becomes at all successful, what will stop them from doing the same?
I have been an enthusiastic flash developer for years and have been fully behind air for mobile development but this move may be a death blow as far as I am concerned. Adobe, if you care about your feature, please don't do this . . . You will drive people away from your product instead of bringing them closer.
I want to create flash banner with XML content, and host it on my site with crossdomain.xml, and then share banner code with other sites for banner exchange.So, everything is on my server.Will loading banner, on other sites, load XML from my server, if both banner and XML resides on the same server, but banner is loaded on the other site?
I am trying to add to my site a feature that allows users to select a set of images in Flash (AS3) click a button and have my server create a zip file of all the images for them to download.
I have already wrote my code in flash and crated my php script and tested it on my localhost and everything works great. But when I upload the same files to my sever no zip files are created. Below is the code for both my flash and for my php.
Localhost server is using 5.2.17 and so if my Server hosted on 1&1
Flash Code To Send Info to PHP
function MakeZip():void { var variables:URLVariables = new URLVariables(); //variables.Image1=img1;
I have updated the crossdomain.xml security settings for my site - but it seems that the older version is being cached in both IE and Chrome.I've checked the headers sent by the server and it's not sending any cache control headers that would be forcing the browsers to be caching crossdomain.xml.
In an attempt to get around the issue I've also linked to my crossdomain.xml file in an iframe on the site. This hasn't worked though and flash still seems to be using the old security settings.
I can't figure this out. When I test a URL page with an embedded SWF file (using [URL]) I cannot get the embedded SWF to play more than one or two frames. However, if I upload this same flash-embedded html page, and test it on the WWW, then it seesm to play without a glitch.
I have created an SWF that loads an XML file from [URL], but I get this error when running the movie using Test Movie in the Flash IDE.
Error #2044: Unhandled ioError:. text=Error #2032: Stream Error. URL: http://localhost/flash/Projects/MEL/Quiz/Quiz/bin/xml/quiz.xml at Main/loadConfig()[D:wwwwebrootflashProjectsMELQuizQuizsrcMain.as:126] at Main/configLoadError()[D:wwwwebrootflashProjectsMELQuizQuizsrcMain.as:143]
[Code].....
Trouble is running the SWF in a browser locally does work, it only throws these errors in the Flash IDE.
I have tried a adding wildcard crossdomain.xml file in my root web directory and setting the SWF publish properties for local playback security to Allow network only, but neither of these have solved my problem.
I know Windows 7 handles localhost name resolution differently compared to previous versions of Windows but I have even added 127.0.0.1 localhost to my hosts file to no avail.
I'm using YUI file uploader based on flash, and the flash requests host/crossdomain.xml file. I'm requesting localhost and it requires this file. I was using this before and I have never had this problem and I've never had this file on my server.I've never used any adobe technologies, could please anybody tell me if it is possible to turn it off somehow ?The problem is that I can't have the file on my server, at least at root location...
I monitor (and log to server) most user errors in our flash game. Quite frequently I see security errors related to trying to make requests to a cross-domain URL (usually the Facebook Graph API). 99% of our players can make these graph API calls with no issues.What I think is going on is that the client makes a request, but fails to load the crossdomain.xml file. I don't quite know how AS3 handles this in the case of a failure to load the crossdomain policy file...will it retry for every URLRequest made until it succeeds in loading it, or does it just give up forever?
I am trying to connect to a socket server from flex. I read, on adobe's documentation, the client automatically sends a "request-policy-file" xml element to the socket before allowing it to be opened, and should receive a policy file.
The client sends the xml element as expected, My server receives it (on the port I want to use, port 6104) and replies on the same port with:
I am trying to build a youtube player with flash and everytime I load a video, there is a runtime security sandbox error..I already put crossdomain.xml in my root serverbut I am still getting the errors...Do I miss something? Do I have to load it into my flex project?
<!-- <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy>
How do I set the flash crossdomain.xml file to only allow https ssl secured connections? I have this but I think this will allow non secure connections too.
I have a Windows Server 2003, with a domain: "mydomain.com" and everything goes right until the Flash application tries to load de crossdomain.xml, because it tries to load it from "servername" and obviously the request fails. Currently I have read all about crossdomain.xml , what it is, where it goes although I can not find what I have to do so my flash application requests the crossdomain.xml from my domain "mydomain.com" and not from my server "servername".
- The domain is up and can be accessed from the internet
- The crossdomain is on the root folder and also can be accessed from the internet
I'm trying to load an xml file from via http into my flash 8 file. Locally it works fine but when on the server it fails. I assume this has to do the flash security sandbox. How do I get around this. I own the servers so is there some sort of fix that I upload to allow the swf to receive the data?
In Flash user can give permission to localhost and even local html file to access remote webservice.I fail to see the same thing for Silverlight which is a nightmare for testing on local pc.
Typing either localhost or 127.0.0.1 in any browser on a Macintosh (os 10.5) does not give access to the host computer.The following Actionscript code generates the following error:
var XMLURL:URLRequest = new URLRequest("http://localhost/quoteRotator/quotes1.xml"); Error opening URL 'http://localhost/quoteRotator/quotes1.xml' Error #2044: Unhandled io error . . .
I have been trying to insert flash file but I keep getting error messages that: Not Found The requested URL /annimations/Snow.html was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
I firstly publish flash into both swf and http files. Then, I opened view source of the http file and pasted the code onto the dreamwaever file. <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="[URL]" width="700" height="500" id="Snow" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="allowFullScreen" value="false" /> <param name="movie" value="Snow.swf" /> [Code] .....
In addition, I deleted code that swfobject.registerObject(FlashID) on the http file. The dreamweaver gave an error message that the code swfobject.registerObject(FlashID) can cause error when downloading the flash. Finally all http, swf and flash files were uploaded. But I still got the error message above. In the past, I managed to upload flash using the method above, although I did not get any message regarding swfobject.registerObject(FlashID).
I'm trying to build a workaround for embedding my (downloaded) flash videoplayer. (it's the JWplayer...)
At the moment, when somebody wants to embed the videoplayer they have to include the swf with all the added flashvars (url...). That's messy, and it feels a bit risky... people who know what they are doing can also just remove the plugin and other added data, resolving in me not being able to track pageviews etc.[code]...
Turns out that, when I use file_get_contents on a regular test file, info.php, that responds through a $_GET['var'], the above stated code works, but when I use it on the flashplayer, it doesn't...
As in: the flash file does not seem to be accepting (or responding to) the added header variables...
I am trying to add to my site a feature that allows users to select a set of images in Flash (AS3) click a button and have my server create a zip file of all the images for them to download.
I have already wrote my code in flash and crated my php script and tested it on my localhost and everything works great. But when I upload the same files to my sever no zip files are created. Below is the code for both my flash and for my php.
Localhost server is using 5.2.17 and so if my Server hosted on 1&1
Flash Code To Send Info to PHP
Code:
function MakeZip():void { var variables:URLVariables = new URLVariables(); //variables.Image1=img1; variables.ImageList=OrderItems;