ошибка # 2048 Нарушение безопасности изолированной программной среды - невозможно загрузить данные - PullRequest
0 голосов
/ 31 мая 2011

Я получаю сообщение об ошибке ниже, когда пытаюсь сделать вызов Java из flex.

[RPC Fault faultString = "Ошибка отправки"
faultCode = "Client.Error.MessageSend"
faultDetail = "Channel.Security.Error error
Ошибка № 2048: нарушение изолированной программной среды безопасности: http://sample.com/sample.swf' не может загрузить данные из http://sample:8080/messagebroker/amf. URL: «http://sample:8080/messagebroker/amf'"]

Когда я пытался запустить то же самое на моем локальном сервере Tomcat, это работало нормально. Но когда размещен на сайте, я получаю эту ошибку. Я также пытался поместить файл crossdomain.xml в корневой каталог. Но ошибка никогда не исчезнет. файл междомена, как показано ниже.

<cross-domain-policy>

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

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

<cross-domain-policy/>

В журналах сказано, что это

Подключение к «http://sample:8080/messagebroker/amf' остановлено - запрещено http://sample.com/sample.swf.

Кто-нибудь сталкивался с подобной проблемой при размещении Flex-сайта?

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Посмотрите, у вас есть разные домены http://sample.com/ и http://sample:8080/.

0 голосов
/ 08 февраля 2012

Немного опоздал к игре, но некоторые другие предметы нужно проверить.

Вы заявили, что можете запустить локальный экземпляр tomcat.Я предполагаю, что вы вызываете эту службу как локальный, а не по IP-адресу (и / или имени компьютера).Если вы работаете с гибким приложением и не изменили настройки запуска, вы работаете с локальным хостом.После того, как вы покинете домен locahost, убедитесь, что вы вошли в настройки запуска (маленькая стрелка вниз рядом с кнопкой запуска или отладки) и введите локальный путь, по которому вы запускаете приложение, используя свой IP-адрес.Теперь вы будете использовать IP-адрес приложения для IP-адреса (или любого другого, а не локального) службы.Обычно это решает проблему.

Затем убедитесь, что файл crossdomain.xml находится в корневом каталоге сервера.Вы должны иметь возможность перейти к http://yourhostname/crossdomain.xml. Не должно быть никаких путей.Файл crossdomain.xml должен находиться на корневом уровне службы хостинга.

Может также потребоваться установить для локального экземпляра рабочего пространства Flex виртуальный каталог на вашем веб-сервере (IIS, tomcat).В моем случае я могу перейти к 127.0.0.1/workspace/someflexapp/bin-debug/projectname.html, и приложение flex будет запущено.

Пройдя через это много раз, выполнение следующих шагов всегда решало проблемы.

Вы можете использовать файл crossdomain.xml, такой как ниже, для открытого доступа к большинству всего, что flex запросит от веб-службы / мыла.

<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>
...