Flex :: Access Https Resource If Swf Is Served From Http?
Jan 24, 2011
My swf is being served via http protocol. I don't really see this being easily changed. There's a resource that a website has opened up via their api that I need to access but it is using https protocol. Because of this my swf can't access the resource because of security settings.
Option 1 would be to serve my swf via https. I can't do this at the moment.
Option 2 would be set secure="false" property of the cross domain policy file. I can't do this, I dont have access.
I am building a FLEX web application that also has a payment module where the user needs to enter his credit card details.
The whole Flex application runs on HTTP. However, whenever the user lands on a page where we ask for credit card details, we want these details to be sent over HTTPS.In this page we need information from the model of the application, because it holds certain selection the user did, the state the application is in, etc.
Do I need to make this page a Module that runs on HTTPS?
Or can I just configure the specific 'credit card' services (we have a JAVA back end) so that these run on HTTPS?
I'm writing a flex application that polls an xml file on the server to check for updated data every few seconds, and I'm having trouble preventing it from caching the data and failing to respond to it being updated.
I've attempted to set headers using the IIS control panel to use the following, without any luck:
CacheControl: no-cache Pragma: no-cache
I've also attempted adding a random HTTP GET parameter to the end of the request URL, but that seems like it's stripped off by the HttpService class before the request is made. Here's the code to implement it:
http.url = "test.xml?time=" + new Date().getMilliseconds();
And here's the debug log that makes me think it failed:
(mx.messaging.messages::HTTPRequestMessage)#0 body = (Object)#1 clientId = (null)
I've been trying to find the right configuration for supporting both http/s requests in a Flex app. I've read all the docs and they allude to doing something like the following:
I'm running with Tomcat 5.5.17 and Java 5.The BlazeDS docs say this is the best practice. Is there a better way? With this config, there seems to be 2-3 retries associated with each channel defined in the default-channels element so it always takes ~20s before the my-amf channel connects via a http request. Is there a way to override the 2-3 retries to say, 1 retry for each channel?
I am finding that if I load Flash from a HTTPS page [URL] and try to make a request within ActionScript 3 to [URL] the request does not go through. Same goes for the opposite (accessing https from a http-loaded flash script).
The request is failing, the requested data (passed from a PHP script) is not loading.
Now at first I assumed the trouble was with cross-domain policy files, but I have fixed that issue (I think).
Is there any security policy in Flash (CS5 btw) on HTTP vs HTTPS requests based on where the script is loaded from?
I have some audio streaming resources on my HTTP server, let's sayI did design a flash player for playing it.Their player will try to reload that resource until it's available.This makes a lots of stress to my HTTP server. To stop them from hamming my server, I want to allow access only from my flash player. Strangely, I think in this case, flash player should check the crossdomain.xml first before load my audio resource, but they didn't. They just load the sound and play. The corssdomain.xml is not even there. I try to add one, it doesn't work as well
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
I've created an application that includes a number of Modules and uses Parsley framework. Ant is used to build the application.Recently I thought of using Resource Bundles and implemented it in the system by creating a locale/en_US folder under the src. I added a portal.properties file with all my strings defined.In my modules, I added the metadata
The build works fine and when I deploy the application and open it in my browser, I'm greeted with many errors thrown by the Flash player.But if I dismiss the messages, its working fine. My strings are replaced with the values in the property file, but how do I stop the runtime errors being thrown up?I get the below error.
Error: Unable to load resource module from portal at MethodInfo-637()at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent()[code].....
We're trying to upload a file from a flex client to a JEE app. In a full HTTPS environment JEE server is JBoss 5 Using BlazeDS 'Custom' authentication (username and password are entered through a flex form) Using BlazeDS per session authentication In regular AMF calls, we can access user principal and use role mechanism. However, in our upload servlet, we have no access to user principal. request.getUserPrincipal() // returns null
I tried to deploy my otherwise working flex app on a web server (tomcat 6).It threw a Channel.Security.Error.After some research, I became aware that flash movie loaded from flash_movie_domain will not be able to load resource from any other domain.Some suggested adding a crossdomain.xml.However, the crossdomain.xml route doesn't quite make sense.In this case, I am loading resources from a third party web site.My understanding is that I need this third party website to include a crossdomain.xml on their root directory in order for app to function.The third party web service is provided as is. I will not be able to change what's given. Since the third party is providing public access, it already explicitly give permission to the general public. Adding a crossdomain.xml to their root seems to be a redundant act?
I have a Flash Movie (SWF) that is consuming a .NET WebService (located on the same domain) and in my Test environment everything works perfectly (Test env is all HTTP).
When deployed to production (All HTTPS) an issue occurs when trying to access the WebService from the Flash movie.
A new WebService object is created with the HTTPS url passed to it.
myWS = new WebService("https://mydomain/path/to/webservice")
As I watch the HTTP traffic in FireBug I can see the Flash movie making a POST request (passing along the SOAP data) as HTTP (not HTTPS as I would expect). This HTTP requests hits the firewall which forces a 302 Redirect to HTTPS. After this redirect occurs, Flash/Firefox re-sends the request to the HTTPS version of the URL, but as a GET request (thus losing all the SOAP data and making the call to the WebService invalid).
I am trying to figure out how/why a Flash WebService would call a WebService using HTTP even though I am specifically passing it a HTTPS url.
I'm having the following problem when I'm loading a swf inside a swfloader. That thing is that this subapp has a config file, and when this config file is being accessed by the subapp it throws an Security error (#2148).I thought it was the crossdomain.xml file, but it has no reestrictions:
I suppose that the subapp is trying to access a config file that is in the swf parent server insted of trying to access its own file in the server where it is installed; how to make this swfloader access its own data,
I am having issues with a navigateToURL command in AS3. When I run it in flash i get no errors but when i publish the file i get the following error:
SecurityError: Error #2148: SWF file file:///C:/Users/jack bauer/Documents/Flash Projects/Banner2.swf cannot access local resource xml/links.xml. Only local-with-filesystem and trusted local SWF files may access local resources. at flash.net::URLStream/load()[code]....
For me FLASH is such a pain with security and javascripting...but, I am trying to upload a basic flash video and I keep getting this security warning and the video will not play.
SecurityError: Error #2148: SWF file XXXXXXXXXXXXX.swf cannot access local resource xxxxxxxxxxxxxx.flv. Only local-with-filesystem and trusted local SWF files may access local resources.
I have not done anything different. It previews fine in Flash and Dreamweaver but not on the server.
Some places in my flex app, I use ResourceManager.getInstance().getString, and other places I use mxml @Resource tag to retrieve resource properties dynamically loaded from ResourceManager. resourceManager.loadResourceModule(resourceModuleURL); But only strings from ResourceManager.getInstance().getString show proper locale based values, while the @Resource tag only returns values from en_US resource. I guess it is because en_US is what I compiled with (-locale=en_US ). So I am wondering if I am using a dynamicly-loaded resource, do I have to abandon the @Resource tag and use ResourceManager.getInstance().getString ?
My first swf loads a singleton class and instantiate it , and I access to it in the following swf's files (they were loaded in local system).
Now I have to load all swf via http. The issue is when I load second movie throw the first one, I can't get the singleton instance... it seems it lost reference...
I want to store some test data for a FlexUnit test in small XML files in my Flex project, and access them trivially for the flex test. How can I load these bits of data synchronously? HTTPService is the way I'd be loading them _a_synchronously, but adding event handlers to my test cases seems like a bit of overkill.
I've run into this issue with my latest project, but I was able to re-create it with an almost empty project. Here is what I've done.
Created a new Flex Project Created a locale/en_US folder within this project. Added a class that extends SparkDownloadProgressBar. All this class does is attempt to create a Label.
When I try to debug this application, I get the following error.
Error: Could not find compiled resource bundle 'components' for locale 'en_US'. at mx.resources::ResourceManagerImpl/installCompiledResourceBundle()[E:dev4.0.0frameworksprojectsframeworksrcmx esourcesResourceManagerImpl.as:340]
[Code]....
The Flex Compiler/Additional Compiler Arguments section does contain "-locale en_US", but I do not want to just remove this as I am planning to have this load different property files based on the localization region at run-time and how I understand it, I will need to add each locale that I am planning to use on the compile argument line.
In the simplest of Flex Projects, create an MXML Flex Module and then load it using the ModuleManager.Create an ActionScript class that extends Module and then configure your project to compile that into a Module.Load this new module instead. The project compiles, but crashes when running with the following error:"Error: Could not find compiled resource bundle 'containers' for locale 'en_US'."I believe the compiler is failing to compile the required class definitions into ActionScript only module, while it succeeds for the MXML module.I can see that my skeleton MXML module is slightly larger than my ActionScript module (66KB vs. 45KB).
Is it possible to use the flash.net.NetConnection object to connect to my Flash remoting enabled web application over HTTPS within Tomcat or any other servlet container?
I am using the SpiceFactory cinnamon project for amf remoting and have searched for examples of using HTTPS but see only the reference to a proxy type in the NetConnection object.
If someone could provide a reference or example that would be awesome. Or if it is not possible using the flash.net.NetConnection object are there any recommendations of how to configure HTTPS for the spicefactory cinnamon library.
I've changed the protocol for my flex app from https to http and flashplayer still wants to download the crossdomain.xml using https though with the port for http. [URL]..
Is there any way in action script to list all the keys (not values) of given resource bundle.My use case is to combine content of two different resource bundle. I wan to do this by creating a new resource bundle at runtime and add each key value pair from two different resource bundles into one.
I embed a text file into my Flex project and read its contents using code like this:[code]The contents of the file is abc. The problem is that the string loaded from the file is not comparable to other strings even though when printed or viewed in the debugger (in FlashDevelop) it seems to be perfectly fine.[code]How do I convert it into a proper string? I tried to use the string methods such as substring to create a copy, but that does not seem to be the solution.
Is there a way to inspect HTTPS traffic from Flex applications compiled to SWF files?I'm trying to use Fiddler for this, have added DO_NOT_TRUST_FiddlerRoot to my Trusted RootCertification Authorities so my IE now can access other HTML sites that would normally complain about untrusted certificate. However, the HTTPS traffic from the SWF file still doesn't appear in Fiddler and, in fact, the Flex app wouldn't work (HTTPS with a self-signed certificate is not supported by Flex apps I believe). Is there a way around it?Update: To be clear, I am interested in the traffic between the SWF file running under Flash Player and the server (typically, Flex components like HTTPService will be used for this). The SWF file itself can be served via HTTP or HTTPS, it doesn't really matter.Clarification 2: Don't assume that the source code is available for the SWF file. If it was, Flash Builder 4's Network Monitor could be used.
I'm trying to configure BlazeDS to work over HTTPS. We've got Apache in the front that is set to redirect all http traffic to https. Apache then communicates with the application (a JBoss AS 5.1) via http. I've tried a lot of configurations for BlazeDS, and finally the following solution worked for me:
The thing here is that in my-secure-amf channel, I use mx.messaging.channels.SecureAMFChannel in the channel-definition, and flex.messaging.endpoints.AMFEndpoint (not flex.messaging.endpoints.SecureAMFEndpoint). This has probably something with the Apache-Jboss setup to do, but I haven't found anything that explains what the different tags actually define. To get some sense in all of this, what happens when defining channels and endpoint, using different urls and classes?
I've got external folder with resources (graphics, movies, etc) which is shared between a couple of projects. I'm able to link this resource folder in FlashBuilder (as described in [URL]). After that all the paths to embeds are relative to the project, and that's the behaviour I want.
This linked resource appears in .project file as follows: <linkedResources><link> <name>resources</name> <type>2</type> <locationURI>DOCUMENTS/Shared/resources</locationURI> </link></linkedResources>
Note, that it isn't source folder and it is not included in compilerSourcePath tag. The question is how can I specify resource linked folder in mxmlc command line arguments? -source-path is not working here, relative pathes to embeds can not be resolved.