Flash :: Flex - Call A Webservice Without Crossdomain.xml File?
May 4, 2010
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 am using Flex and Actionscript 3, along with Webservices, rpc and a callResponder. I want to be able to, for example, say:
loadData1(); // Loads webservice data 1 loadData2(); // Loads webservice data 2 loadData3(); // Loads webservice data 3
However, Actionscript 3 works with async events, so for every call you need to wait for the ResultEvent to trigger when it is done. So, I might want to do the next request every time an event is done. However, I am afraid that threading issues might arise, and some events might not happen at all. I don't think I'm doing a good job of explaining, so I will try to show some code:
private var service:Service1; var cp:CallResponder = new CallResponder(); public function Webservice()[code]....
I could ofcourse save the actions in an arraylist, but whose to say that the addToArrayList and the check if other calls are available do not mess eachother up, or just miss each other, thereby halting execution? Is there something like a volatile Arraylist?
I am receiving xml from a webservice call that contains a nil="true":[code]I used the Flex DataService (webservice) wizard to create the service objects for the cacheEntry component. This object will be serialized later on a different webservice call and stored in a database.I set a breakpoint on the set SystemFK method in the service object. It appears that the value passed in was an empty string!Allowing this value to be an empty string will cause problems in the webservice implementation in Java on the other side. Since the database value was null it is expecting a null in return, If I avoid setting this value, the serviceObject should send back a null which will make the database happy.How can I detect that a nil = true is present in the XML in order to avoid setting this value?
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?
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]....
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 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've got a movie that i'm calling a webservice from. When I run the movie in flash it downloads the service stub and makes the SOAPCall and loads the data as you would expect. But when i upload it to a site it loads the service stub makes the SOAPCall but "Received SOAP response from network" is not called.
About the files: I load the movie in an html file using UFO. There are some external interface calls before the webservice is called but these definatley return what is required for the webservice to run because the stub does not get downloaded if they don't return anything.[code]...
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...
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.
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 currently working on a project that contains a lot of data, about 14.000 records. This means an xml file of about 3mb. Now my question is: Should I use the xml file to load all the data at once, or should I use a webservice, that provides the data when I need it? Keep in mind that I'm new to webservices. And if I'm going to use a webservice: How do I store the data, in a mySQL database?How fast is a webservice?
I have 2 sites using their own version of the same email.php file accessed by a contact form in Flash - one copy is sent to an email address on the site domain and another to the originator. On one of the two sites the email never arrived then I noticed "crossdomain.xml not found" in the web browser activity log so I googled it and then placed this file in the root directory:
Now the email address with the same domain arrives but the originator does not receive his copy (can be any domain). It's weird that the 2 sites are not consistent?
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.
I am using the XML/MX/Syndication libraires and getting a Security Error #2048 error. The error seems unreasonable to me in that there is no forward solution to it on the Internet. I have tried hardcoding security methods in AS 3 and also using a crossdmain.xml file in my root directory to no success. I am about to give up and use pure PHP. There should be a more simple solution to this.
How can i settings crossdomain.xml my flex project.* this is my crossdomain.xml.
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="all"/>
[code].....
I've tried lots of different methods but my project send error message "Security error accessing url Unable to load WSDL. If currently online, please verify the URI and/or format of the WSDL [URL]"
How can I add a crossdomain.xml to the root of my Hudson server? I'm working on a Flex->Hudson bridge and I'd like to access it directly, instead of relying on a proxy to do it for me.
EDIT: This is standalone Hudson, not running on any application server.