Ошибка безопасности при доступе к Сервису вне FlexBuilder - PullRequest
0 голосов
/ 16 марта 2010

Я очень новичок в Flex, и у меня есть то, что я считаю головокружительным.

Я создаю небольшое приложение Flash, которое будет использовать некоторые веб-сервисы по HTTP. Когда я нахожусь в Flexbuilder и запускаю там свое приложение, оно работает нормально. Когда я перехожу к своему проекту FlexBuilder в моей ОС и дважды щелкаю по нему, он работает нормально. Когда я заархивирую файл bin-debug, я получаю эту ошибку:

Security error accessing url faultCode:Channel.Security.Error faultString:
'Security error accessing url' faultDetail:'Destination: DefaultHTTP'

Так что я гуглил это и получил информацию о файле crossdomain.xml. Ну, я не могу поместить файл междомена в службу, которую я вызываю, но я могу поместить ее в другое место. Поэтому я добавил следующие строки в приложение Flex:

Security.allowDomain("vx1391");

Security.loadPolicyFile("http://vx1391:8080/job/Remote%20FIT%20Runner/ws/trunk/flash-cross-domain.xml");

Мой файл cross-domain.xml широко открыт:

<cross-domain-policy>
  <allow-access-from domain="*"/>

</ междоменная-политика>

Что я знаю, плохо в продвижении, но сейчас мне просто нужно, чтобы это работало локально, но за пределами FlexBuilder.

Кто-нибудь хочет помочь этому Flex-noob?

1 Ответ

1 голос
/ 16 марта 2010

Лучший способ справиться с этим - использовать прокси вместо файла crossdomain.xml. Вы можете использовать Apache или BlazeDS в качестве прокси. Пока все запросы от SWF-файла отправляются на тот же сайт, с которого пришел SWF-файл, вы не должны получать никаких ошибок безопасности. Если вам нужно обойти это только для собственного тестирования, то другой альтернативой является добавление SWF-файла в файл доверия Flash Player (что и делает FB).

...