Comunidad de diseño web y desarrollo en internet online

Problemas con el crossdomain

Citar            
MensajeEscrito el 23 Ene 2009 04:57 am
¡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.

Por rabi

106 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 23 Ene 2009 05:57 am
Me quité de broncas: alimenté los datos desde php utilizando HTTPService. Por si a alguien le interesa, utilicé este script

Por rabi

106 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 23 Ene 2009 01:20 pm
hola... si es la unica manera comsumir por php si el crossdomain no te lo permite ya q el flash player nunca te dara permiso....


Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 23 Ene 2009 03:09 pm
La realidad es que me parece un poquito pretenciosa la actitud de los de adobe, al pretender que al cambiar su política de seguridad inmediatamente todos los webmaster del mundo van a correr de einmediato a actualizar sus archivos... y mientras nosotros sufriendo.
Pero ni modo, nada podemos hacer más que darnos nuestras mañas.

Por rabi

106 de clabLevel

1 tutorial

 

firefox
Citar            
MensajeEscrito el 26 Ene 2009 03:02 pm
Es q no es de adobe... si el servicio no implementa el crossdomain correctamente en su servidor los de adobe no son culpables.... igual esto del crossdomain esta hacer bastante tiempo en el flash player.... por otro lado si no tuviera esta restriccion te puedo asegurar q seria realmente inseguro usar el reproductor flash


Saludos!

Por alfathenus

833 de clabLevel

5 tutoriales

 

buenos aires || Argentina

firefox
Citar            
MensajeEscrito el 30 Ago 2009 10:59 pm
El tema es que tanto los servicios de hosting como los servidores en si les chupa un huevo implementar este tipo de tecnologias, apunta al php y al asp practicamente no le prestan atención a otro tipo de tecnologia. Será muy seguro pero es imposible de implementar. En mi caso me volví loco tratando de hacer funcionar el envío de mail por medio de sockets en flash, está muy bueno, pero la única forma de hacerlo correr es que el servidor de smtp escuche en el puerto 800 y pico la petición del flash player del archivo crossdomain bendinto.... tétrico a quien se le pudo ocurrir esto para brindar seguridad......

Por madescoces

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Sep 2010 04:25 pm
Hola, tengo el mismo problema con el servidor SMTP para enviar correos, me puedes indicar lo del puerto 800, yo he probado con el 843 que indican que es el por defecto pero nada de nada, y donde pones el fichero crossdomain.xml.

Gracias.

Mi escenario es el siguiente:

1) Servidor Web (W2003 y IIS)
2) Servidor de correos (W2003)
3) Desarrollo Flex 3

La aplicación se encuentra en el servidor Web y envía correos.

Con la nueva política, no tengo manera de enviar correos ya que obtengo el mensaje de error: sandobox violación de seguridad, en dominio y puerto 25 (que es el servidor de correos)

Sin embargo si realizo las pruebas desde el entorno de desarrollo (Flex) y conectando a los servidor todo funciona sin problemas.

He probado de todas las formas y opciones al escribir el fichero crossdomain.xml, lo pongo aquí (el fichero está situado en la raíz del servidor web) antes esto funcionaba correctamente.

<?xml version="1.0" encoding="UTF-8" ?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFile.xsd">
<allow-access-from domain="*" to-ports="*" secure="true" />
<allow-access-from domain="*" secure="false"/>
<allow-access-from domain="*.localhost" secure="false"/>
<allow-access-from domain="*.MiDominio.com" secure="false"/>
<allow-access-from domain="www.MiDomino.com" secure="false"/>
<allow-access-from domain="mail.MiDominio.com" to-ports="*" secure="false"/>
<allow-access-from domain="mail.MiDominio.com" to-ports="25" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false" />
</cross-domain-policy>

El problema es que no consigo que dar autorización a mail.MiDomino.com puerto 25.

Por lo que he leído y buscado por google aunque sigo sin enterarme bien, es que para poder utilizar el tema de puerto a partir de la nueva política de cross domain, tengo que servir o mejor dicho el servidor debe enviar el fichero crossdomain.xml

Entiendo que no sirve con que este el fichero crossdomain.xml y que lo lea como siempre ha sido, sino que tengo que servir o enviar de otra forma.

He probado desde la aplicación utilizando:

Líneas probadas:

Security.allowDomain("*");
Security.loadPolicyFile("http://mail.MiDominio.com/crossdomain.xml");
Security.loadPolicyFile("xmlsocket://mail.Midominio.com:843");
Security.loadPolicyFile("xmlsocket://mail.Midominio.com:25");

loSendMail = new SMTPMailer( “mail.MiDominio.com”, 25 );

Sin resultado

El problema es que en entorno de desarrollo funciona todo correcto y se conecta sin problemas al servidor de correos.

Como se puede ver para enviar correos estoy utilizado la librería SMTPMailer.

Alguien me puede explicar cómo puede aplicar la política de cross domain, ya que la única conclusión que he sacado buscando en google, es que hay que realizar un tipo de programa que este escuchar en el puerto 843 y que retorno el .xml

Si esto es realmente de esta forma, por Dios que locura, tendría que poner aplicaciones y/o programas en el servidor de correos ufff que locura (cómo, con que lenguaje ayyyyyy).

Ya no sé que más probar para hacer funcionar el correo.

Gracias.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

msie8
Citar            
MensajeEscrito el 17 Sep 2010 03:40 pm
Yo me terminé cansando de probar con puertos config y crossdomain, el crossdomain va en el servidor, y tenes que tener acceso al root del server creo, si mal no recuerdo por que esto lo vi como un año atras. Al final terminé usando php.

Por madescoces

15 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.