Ошибка Flex CrossDomain.xml - ошибка Channel.Security.Error Ошибка #2048
Я борюсь с получением Flex SWF (который встроен в JSP) для доступа к удаленным данным (из другого домена).
У меня есть crossdomain.xml (который встроен в мой SWF). Его содержание таково:
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
В моем main.xml я загружаю файл crossdomain.xml, используя:
Security.loadPolicyFile("http://www.mysite.com:8380/CSS/ReviewItemsServer/crossdomain.xml");
Когда я захожу на веб-страницу JSP через браузер, встроенный SWF-файл пытается выполнить удаленный вызов Java, и я получаю следующую ошибку:
Error string = Send failed
Error code = Client.Error.MessageSend
Error details = Channel.Security.Error error Error #2048:
Security sandbox violation: http://www.mysite.com/CSS/ReviewItemsServer/ReviewItemsMain.swf
cannot load data from http://www.mysite.com:8380/CSS/ReviewItemsServer/messagebroker/amf. url:
Я почти уверен, что файл crossdomain.xml действительно загружается SWF, поскольку я создал простой URLLoader для загрузки файла xml и проверки отсутствия ошибок. Так что я не думаю, что это проблема...
Когда я запускаю SWF в режиме отладки... я также вижу следующее сообщение об ошибке:
Error: [strict] Ignoring policy file at http://www.mysite.com:8380/CSS/ReviewItemsServer/crossdomain.xml due to missing Content-Type. See http://www.adobe.com/go/strict_policy_files to fix this problem.
Любая помощь будет очень оценена....
отметка
1 ответ
Вам нужен основной файл политики по адресу http://www.mysite.com:8380/crossdomain.xml со следующим содержимым:
<?xml version="1.0" encoding="ISO-8859-1"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
</cross-domain-policy>
Это позволит использовать междоменные файлы политики в подкаталогах.