#apache-flex
#apache-flex
Вопрос:
Недавно я загрузил свое приложение flex на сервер, оно отлично работает в моей системе (localhost), но на рабочем сервере оно пытается получить доступhttp://localhost/crossdomain.xml который недоступен и в конечном итоге показывает «загрузку» вечно.
Ответ №1:
Проверьте свой код и посмотрите, ссылаетесь ли вы где-нибудь на URL localhost.Например, вы могли бы использовать URL localhost для вызова httpservice.
Комментарии:
1. В дополнение к этому, старайтесь не использовать «абсолютные» URL-пути, всегда используйте относительные, когда это возможно, как в
<HTTPService url="someDir/someFile.txt" />
. Таким образом, не имеет значения, на каком сервере вы выполняете развертывание, оно всегда будет использовать текущее местоположение html-файла, который обслуживает ваше приложение Flex, в качестве основы.
Ответ №2:
У меня есть клиент flex, который взаимодействует с сервером на базе zend-framework. Клиент и сервер размещены на разных компьютерах (также на одном компьютере разработчика с разным URL). Что мне нужно было сделать, чтобы это заработало, заключается в следующем:
Мне пришлось отредактировать файл srcservices_Super_MyHttpService.as
в исходном коде моего клиента flex и обновить http URL с http://localhost/
на http://SERVER_IP/
для вызываемой переменной _serviceControl
. Затем скомпилируйте гибкий клиент.
Я также поместил crossdomain.xml
файл в корневой каталог сервера с содержимым, подобным:
<?xml verspion="1.0">
<cross-domain-policy>
<allow-access-from domain="CLIENT_IP"/>
</cross-domain-policy>
Примечание: замените SERVER_IP
, CLIENT_IP
на правильный IP-адрес, на котором размещены сервер и клиенты flex соответственно.