我有一个小型客户端/服务器测试应用程序,其中有一个 Flex 应用程序,它对服务器应用程序发出 HTTP 请求。服务器应用程序是在我的本地计算机上运行的脚本,侦听端口 8001。客户端是我在本地运行的 swf,mx.rpc.http.HTTPService
用于发出页面请求。
HTTPService 的设置如下:
_HttpService = new HTTPService();
_HttpService.url = "http://localhost:8001";
_HttpService.contentType = "text/xml";
当我发出基本页面请求时,我的服务器应用程序首先收到一个"GET /crossdomain.xml HTTP/1.1"
请求,但由于我没有 crossdomain.xml 文件,所以该请求失败。我没有到位的原因是因为这一切都发生在我的本地机器上(现在),我不应该需要一个(我不认为)。
当我使用 Flex 3.x 时,我确实在没有 crossdomain.xml 的情况下运行过这段代码。我以为我也可以使用 Flex 4。现在我使用的是 Flex 4.5。这里是否存在问题,可能是由于安全策略更改?
所有这些都发生在 localhost 上,为什么 Flash 播放器会请求 crossdomain.xml 文件?
如果有帮助,我的 AsyncResponder 得到的具体错误是:
[FaultEvent fault=[RPC Fault faultString="Security error accessing url" faultCode="Channel.Security.Error" faultDetail="Destination: DefaultHTTP"] messageId="F43DCBFF-E99A-99CC-57D8-535C13C7CD48" type="fault" bubbles=false cancelable=true eventPhase=2]