2009-09-15 8 views
0

J'essaie de comprendre comment configurer correctement mon fichier crossdomain. Voici ce que j'ai jusqu'à présent:Flash/Flex crossdomain.xml help

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

L'application flex est configuré pour accéder à un webservice asp.net à

http://www.contoso.com/webservice.asmx 

Quand je navigue à:

`http://www.contoso.com/flexapp.html` 

les charges d'application et fonctionne très bien. Cependant, lorsque je navigue à:

`http://contoso.com/flexapp.html` 

l'application Flex ne communique pas avec le webservice en raison d'une erreur de sécurité sandbox. Tout le monde sait comment je dois configurer mon fichier crossdomain.xml pour que les utilisateurs n'aient pas à se souvenir d'inclure "www" dans l'url?

Nous vous remercions de votre aide.

Répondre

1

Je configure généralement une redirection 301 (déplacée en permanence) pour les noms de domaine non-www redirigeant vers www. Je pense que c'est une pratique assez courante. Une autre option consiste à utiliser des chemins relatifs dans votre application Flex (bien que cela soit plus difficile avec les WSDL.) Si vous devez effectuer la requête crossdomain, vous devrez également spécifier le master policy. Une autre alternative serait de mettre les services Web sur ws.contoso.com et avoir une politique de domaine croisé qui permet des demandes de contoso.com et www.contoso.com

+0

Merci, cela m'a mis sur la bonne voie, il me manquait l'élément "allow-http-request-headers-from" (cela a été mentionné dans l'article d'adobe auquel vous étiez lié.) Cela fonctionne maintenant. – Daveed

0

"*.contoso.com" devrait fonctionner. Avez-vous essayé de le spécifier explicitement?

<allow-access-from domain="www.contoso.com"/> 

EDIT: pourquoi avez-vous besoin d'un fichier de politique ici en premier lieu? Les deux sont dans le même domaine, non? change l'URL de chargement en un chemin relatif.