Приложение Flex работает в bin-debug, но не в bin-release
Я разработал небольшое гибкое приложение, которое выполняет некоторые вызовы веб-службы, извлекает некоторые данные и возвращает данные в приложение.
Все работает нормально, пока я работаю внутри Flex Builder (eclipse) или пока я запускаю его из ProjectName\bin-debug.
Как только я пытаюсь развернуть его (запустить из ProjectName\bin-release или на веб-сервере), он перестает работать, и я получаю сообщение об ошибке: - Невозможно загрузить WSDL. Если вы в данный момент онлайн, проверьте URI и / или формат WSDL ( http://127.0.0.1/TimeSheet/TimeSheets.wsdl)
Я создал кросс-доменный файл, который я считаю правильным, и поместил его в корневую папку IIS C:\inetpub\wwwroot (я также просто для безопасности скопировал файл в C: \ inetpub и C:\inetpub\wwwroot\TimeSheet)
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*"/>
</cross-domain-policy>
Я также после прочтения Интернета попытался изменить свойства компиляции Project -> Properties -> Flex Compiler, изменив свойство -use-network= на true и false, а также свойство -debug.
Я верю, что если я смогу заставить работать бен-релиз, то все будет работать.
В чем разница?
1 ответ
@Amarghosh я пробовал localhost и 127.0.0.1 и имя сервера
@ Джефф Да, и это работает
Хорошо, у меня есть еще информация. Я выяснил, что причина, по которой он работает в папке bin-debug, а не в папке bin-release, заключается в том, что в папке bin-debug приложение запускается в локальной доверенной
Security Sandboxtype (sandBoxType.text = Security.sandboxType.toString())
И папка bin-release работает в localwithfile или localwithnetwork (в зависимости от того, какое свойство -use-network также установлено)
Чтобы заставить его работать в папке bin-release, все, что мне нужно было сделать, это добавить его на мои доверенные сайты в flash player.
Фантастика... за исключением того, что он должен работать на веб-сервере, чтобы люди могли получить к нему доступ в нашей локальной сети. Из того, что я видел, когда к SWF-файлу обращаются из "сети", т. Е. Не из локального файла на ПК, он всегда запускается в удаленном типе "песочницы", и он выдает ту же ошибку, что и выше, при работе в удаленном типе "песочницы".
Так есть ли какие-то особые правила, которым я должен следовать, чтобы разрешить моему маленькому приложению обращаться к wsdl при работе в удаленном типе песочницы?