¡Maldita sea la hora en que se les ocurrió a los de Adobe poner tantas trabas para acceder a datos remotos! Aaaah, con qué nostalgia recuerdo aquellos felices tiempos en que un swf podía alegremente ejecutar cualquier .exe que se le pusiera enfrente (jejeje)!
Bueno, el caso es que estoy tratando de obtener datos del tipo de cambio (currency rates) alimentándolo de un servicio web:
http://www.webservicex.net/CurrencyConvertor.asmx?WSDL. Localmente funciona, pero en el momento de correrlo desde una url http me marca una advertencia y un error en el log policyfiles.txt:
Código :
Advertencia: El dominio webserviceX.NET no especifica ninguna metapolítica. Aplicando la metapolítica predeterminada 'master-only'. Esta configuración dejará de funcionar en el futuro. Consulte http://www.adobe.com/go/strict_policy_files_es para resolver este problema.
...
Error: Se deniega la solicitud de recurso en http://webservicex.net/CurrencyConvertor.asmx por el solicitante de http://localhost/bin-debug/secciontempo.swf debido a la falta del archivo de política.
La razón es muy clara: el archivo crossdomain.xml que existe en el dominio del servicio (
http://www.webservicex.net/crossdomain.xml) no posee la línea correspondiente a la metapolítica, tal como se especifica en
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html.
La solución sería que en el sitio se modificara el crossdomain.xml, cosa, que está fuera de mi alcance. La pregunta es: ¿existe alguna alternativa que yo pueda implementar para poder acceder a los datos?
Por otro lado, la realidad es que este servicio es muy lento. Existe un API en
http://xurrency.com/ que es mucho más eficiente, pero la verdad es que no puedo obtener los datos y la documentación es muy pobre. si alguien sabe de una manera sencilla y limpia de obtener el tiipo de cambio en flex, le agradeceré que lo comparta.