Pregunta

Creé un proyecto en Flex Builder con el tipo de servidor de aplicaciones establecido en ninguno.

Cuando depuro, puedo acceder al servicio web desde mi máquina local que está en un sitio http : //mysite.com/ws/ws.aspx? wsdl

Cuando subo la aplicación flex a mysite.com/myapp.html funciona muy bien.

Pero, cuando lo subo a myapp.mysite.com/myapp.html, no accederá al servicio web.

¿Alguien sabe lo que me estoy perdiendo?

Gracias

P.S. El WS se creó con VB.net, y cuando creo un proyecto flexible con el tipo de servidor de aplicaciones configurado en .net, no accederé al WS desde mi máquina local

este es mi archivo crossdomain.xml

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*"/>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

** Supongo que no es un problema de flexibilidad, sino una característica de seguridad .net ... que no sé cómo configurar.

.NET no permitirá que las aplicaciones lo usen fuera de su propio dominio. **

¿Fue útil?

Solución

Por defecto, Flex no permite acceder a servicios web en hosts remotos. Esta es una característica de seguridad de Flex. Dado que su aplicación Flex se implementa en myapp.mysite.com , está bajo un host diferente al servicio en mysite.com .

Puede agregar un crossdomain.xml a mysite.com que Flex verificará para ver si el servicio permite el acceso desde diferentes dominios. El archivo crossdomain.xml debe estar ubicado en la raíz web del dominio ( mysite.com/crossdomain.xml ). He usado los siguientes contenidos para permitir el uso de depuración. Tenga en cuenta que permite todo uso, por lo que si desea restringir el uso en producción, debe modificarlo más adelante.

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
    "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*" to-ports="*" />
   <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

Más información en Documentación de Flex , especialmente artículo de la base de conocimientos .

Otros consejos

Intente verificar las solicitudes que se realizan con los datos de manipulación (extensión de Firefox). Compruebe que la aplicación encuentre el archivo crossdomain.xml. Si el camino está desactivado, ese es tu problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top