2010-10-29 2 views
0

J'ai un problème avec un service asmx auquel j'essaie d'accéder. Aucun fichier crossdomain. J'ai lu il y a un moyen de contourner cela en utilisant HTTPService au lieu d'un webservice. Ne peut toujours pas charger le wsdl. Voir le code ci-dessous. Toute aide serait grandement appréciée:Service ASMX et manque de fichier Crossdomain.xml

var dataService:HTTPService = new HTTPService(); 
dataService.url = 
    "http://flexmappers.com/proxy.php?url=http://www.server.net/carbon.asmx"; 
dataService.method = "POST"; 
dataService.addEventListener("result", onCarbonCalcResult); 
dataService.addEventListener("fault", onCarbonCalcFault); 
//dataService.resultFormat = "xml" 

var params:Object = new Object(); 
params["call"] = "getCarbon"; 
params.area = carbonarea; 
params.geojson = geojson; 
dataService.send(params); 
+0

Quelle erreur voyez-vous? Le fichier crossdomain.xml sur http://flexmappers.com/crossdomain.xml semble correct. –

Répondre

1

Aucun fichier crossdomain. J'ai lu il y a une façon de contourner cela en utilisant HTTPService au lieu d'un webservice

On dirait que vous étiez mal informé.

Dans les applications basées sur un navigateur, les balises HTTPService, WebService et RemoteObject ne sont pas autorisées à accéder au contenu sur un serveur distant, sauf si un fichier crossdomain.xml existe et permet un tel accès. Ils peuvent tous accéder au contenu du même domaine que le fichier SWF sans fichier crossdomain.xml. Pour contourner ce problème, vous pouvez utiliser un proxy HTTP sur le même serveur que celui qui sert votre fichier SWF. Vous pouvez également utiliser une application AIR qui ne s'exécute pas dans un navigateur et qui existe donc dans un autre sandbox de sécurité.

0

Vous pouvez créer votre propre proxy avec BlazeDS ou HTTP Apache.