Нарушение безопасной тестовой среды не может загружать данные с box.net

У меня есть приложение, которое загружает / скачивает файлы на / с box.net. приложение работает нормально, когда оно не развернуто на сервере, но когда я развертываю его в Google App Engine, возникает следующая ошибка.

Ошибка № 2044: Необработанная ошибка безопасности :. text = Ошибка № 2048: Нарушение безопасной тестовой среды: http://somexyz.appspot.com/xyzsample.swf не может загрузить данные из http://box.net/api/1.0/download/abcdef/123456.

Я включил следующие строки кода в as3

Security.allowDomain("*");

и поместил crossdomain.xml в корневую папку приложения (Google App Engine) и может получить доступ к файлу с помощью somexyz.appspot.com/crossdomain.xml

crossdomain.xml содержит следующие строки

<?xml version="1.0"?> 

<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy>

   <site-control permitted-cross-domain-policies="all"/>

   <allow-access-from domain="*" to-ports="*"/>

   <allow-http-request-headers-from domain="*" headers="*"/>

   <allow-http-request-headers-from domain="*"/>

</cross-domain-policy>

Я также получаю ту же проблему, когда пытаюсь использовать tomcat.


person user1602397    schedule 16.08.2012    source источник


Ответы (1)


Если вы загружаетесь с box.net, вам нужно проверить http://box.net/crossdomain.xml

и там вы можете прочитать следующее:

<!--
Box has recently changed its crossdomain policy for API calls made from Flash.
To continue using Box API, please add the following line to the code of your Flash
application:
- AS2: System.security.loadPolicyFile("http://www.box.net/api/crossdomain.xml");
- AS3: Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml");
-->

ОБНОВЛЕНИЕ

Убедитесь, что вы добавляете его правильно:

Security.loadPolicyFile("http://www.box.net/api/crossdomain.xml")

И при загрузке:

*.load('http://www.box.net/api/1.0/download/abcdef/123456');

чтобы путь к серверу был таким же: http://www.box.net/

Для прошивки http://www.box.net/ и http://box.net/ - это два разных доменных имени.

person Jevgenij Dmitrijev    schedule 16.08.2012
comment
Спасибо за ответ, я сделал это, поместив Security.loadPolicyFile (box.net/api/crossdomain .xml); в моем коде, но проблема не устранена. - person user1602397; 16.08.2012