Если Вы говорите об автоматической сериализации XML объектов, проверяете Castor:
Castor является платформой привязки данных С открытым исходным кодом для Java [TM]. Это - кратчайший путь между объектами Java, XML-документами и реляционными таблицами. Castor обеспечивает привязку Java-to-XML, персистентность Java к SQL, и т.д.
Аналогичная проблема здесь указывает на то, что localhost не был разрешен до 127.0.0.1.
Вы можете попробовать переключиться на IP-адрес и посмотреть, поможет ли это.
Вы можете попробовать еще несколько вещей в коде с классом Security в дополнение к yoru crossdomain.xml
Попробуйте:
Security.allowDomain("*")
Security.allowInsecureDomain("*")
Или если вы загружаетесь с внешних серверов за пределами aporoved разрешенный хост:
Security.allowDomain(loader.contentLoaderInfo.url)
Затем медленно включайте его, пока не столкнетесь с ошибкой.
Убедитесь, что вы можете напрямую попасть в файл политики, и на этом порте не запущено ни одного блока или другого приложения. Обычно, когда я запускаю сокеты, я устанавливаю более 5000, чтобы убедиться, что порт не используется. Или попробуйте несколько разных портов.
Также в качестве простой проверки убедитесь, что вы назвали его crossdomain.xml и все в нижнем регистре. У меня были программисты выдергивать волосы, и это оказалось причиной.
попробуйте поставить пробел перед закрывающим тегом xml "/>", как в предложениях dan_nl, например:
Не смейтесь, я просто решил проблему, очень похожую на вашу (и это действительно похоже на ошибку парсинга IMHO)
Вы пробовали добавить элемент allow-http-request-headers-from?
<allow-http-request-headers-from domain="*" headers="*" />
Или указать фактические порты вместо * для элемента allow-access-from?
<allow-access-from domain="*" to-ports="843,45455" />
By any chance... is this occurring on Windows Vista? Is the IP address specified as a host name? If so, see this.
Or maybe it's occurring while the profiler is active? If so, see this.
При отправке файла политики сервер всегда должен отправлять нулевой байт после xml политики. Из приведенного выше описания не ясно, отправляется ли нулевой байт, и это может в конечном итоге запутать Flash-плеер.
Я тестировал это локально, и, похоже, все работает нормально, пока сокет не будет закрыт. Разве розетка не должна закрываться? После того, как сообщение отправлено клиенту Flex, код Java выполняет:
_in.close();
_out.close();
_socket.close();
Затем клиент Flex получает нарушение песочницы при следующей попытке связи с сокетом. Если я снова создаю новое соединение сокета, то отправка и получение работают нормально, а затем закрывается. Но примерно через минуту я получаю еще одно нарушение песочницы. Интересно, пытается ли Flash проверить сокет и, поскольку он закрыт, выдает нарушение песочницы?
Это может помочь, а может и не помочь, но у нас были похожие проблемы. Мы получали ошибку безопасности, но она была непоследовательной. Я создал интерфейс и работал с разработчиком, который имел дело с Socket, написанным на PHP. Проблема, казалось, заключалась в том, что действительно было состояние гонки, когда Flash пытался подключиться к сокету до получения файла политики. Итак, в интерфейсе я создал повторную попытку в обработчике ошибок безопасности, который будет запускаться определенное количество раз, прежде чем сдаться, а также установил тайм-аут с 20 секунд по умолчанию до 6 или 8. Обычно он ловит 2-й. попробуйте, и это действительно помогло, но были случаи, когда для подключения требовалось 8-10 секунд, что не было оптимальным решением.
В ходе моих поисков наткнулся на несколько ссылок, и в этой что-то говорилось о настройке задержки на сервере, седьмой пост не опубликован: http://projectdarkstar.com/forum/?action=printpage;topic=1134.0
В конце концов мы загрузили и использовали файловый сервер политик Python из этой статьи Adobe, и он работает безупречно, я могу » Не объясните почему, я не серверный парень, но, возможно, стоит попробовать:
хорошо, я могу разместить только 1 гиперссылку, так как я новый пользователь, странно. Выполните поиск «Настройка файлового сервера политики сокетов», и он должен сразу появиться, в этой статье на сайте Adobe есть файлы примеров.
Я думаю, что Джеймс Уорд прав - сейчас я работаю с Sockets, и на днях я столкнулся с этой проблемой. Я нашел сообщение, в котором говорилось, что если клиент Flash не закрывает Socket при отправке события COMPLETE, это может привести к ошибке, которую вы видите. Я добавил код для закрытия клиентского Socket на COMPLETE, и пока все работает нормально.