我正在尝试访问的asmx服务存在问题。没有跨域文件。我读到有一种解决方法,使用HTTPService而不是webservice。仍然无法加载wsdl。见下面的代码。任何帮助将不胜感激:
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 :(得分:1)
没有跨域文件。我看过有一个 使用HTTPService解决这个问题 而不是网络服务
听起来你被误导了。
在基于浏览器的应用程序中,除非存在允许此类访问的crossdomain.xml文件,否则不允许HTTPService,WebService和RemoteObject标记访问远程服务器上的内容。他们都可以访问与SWF相同的域中的内容,而无需使用crossdomain.xml文件。
要解决此问题,您可以在为SWF提供服务的同一台服务器上使用HTTP代理。您还可以使用不在浏览器中运行的AIR应用程序,因此存在于不同的安全沙箱中。
答案 1 :(得分:0)
您可以使用BlazeDS或Apache HTTP创建自己的代理。