Регистрация: Nov 2010
Сообщений: 1
|
у меня возникла проблема при использовании Java сервлетов и Flex.
При написании приложения обнаружил вот что, после того как выложил его на сервер сервлеты для тестирования, флекс ролик не конектится с сервлетом (ролик находится на моем компе), который уже находится в сети (локально все работало).
Потом решил протестировать все это на простом приложении.
Создал сервлет, который возвращает всегда только
out.println("<h1>Соединение прошло успешно Java</h1>");
Выложил его в сеть. Ввел его адрес в браузере для проверки, работает.
Далее создал простое флекс приложение, которое запрашивает этот сервлет и выводит его в текстовом поле. Скомпилировал, запустил, работает.
Но если перенести флекс приложение из папки куда оно компилируется в любую другую, перестает работать (мне известно, что в режиме разработки флекс приложения игнорируют все разрешения, права, песочницы).
Очевидно, что здесь проблема с безопасностью.
Ну конечно я сразу вставил в параметры компилятора
-use-network=true
не помогло
затем в текст флекс приложения добваил
flash.system.Security.allowDomain("http://***:8084");
не помогло
вставил
Security.loadPolicyFile("http://***:8084/tsrv/crossdomain.xml");
Сам crossdomain.xml на сервере содержит
<?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="*" secure="false"/>
<site-control permitted-cross-domain-policies="all"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
тоже не помогло
Никаких ошибок приложение не выдает, просто долго ждет ответа от серверной части, а потом будто молча сбрасывает его.
Уверен на 90%, что все дело в настройках безопасности флекс приложения, также возможно (на 10%) дело в безопасности сервера (tomcat или apache). Но вот что не так, не знаю.
Если кто знает, что это за проблема, и где можно почитать о ее решение, буду рад помощи.
|