2010-10-11 1 views
0

Я создаю приложение Flex, которое работает с браузером, используя базу данных с сервером MySQL, которую я могу создавать, изменять и удалять данные из базы данных.Flex/Air: Flex, BlazeDS, Hibernate (Tomcat) и MySQL

Проблема, с которой я сталкиваюсь сейчас, это то, что я хочу увидеть свою программу с помощью Adobe AIR (виртуальная машина). На дисплее это не создает проблемы. Проблема в том, что воздух не может попасть на сервер базы данных, находится в MySQ. отображаемое сообщение об ошибке выглядит следующим образом:

Ошибка: client.Error.MessageSend - Ошибка Channel.connect.failed NetConnection.Call.Failled: HTTP: Status 404: url: 'http: //xxx.swf/ xxx/messagebroker/amf '- Отправить не удалось "

Благодарим вас, объясните мне, почему я получаю эту ошибку? и почему я могу работать с браузером, но не с AIR? и хорошо работать с приложением AIR «Клиент-Сервер»?

Я жду ваших ответов или комментарии с удовольствием

ответ

0

Было бы лучше, чтобы иметь некоторую услугу на стороне сервера, чтобы служить в качестве фасада для операций с базами данных. Таким образом:

  • вы будете работать с ограниченным интерфейсом от вашего клиента гибкого
  • вам не нужно будет хранить учетные данные БД на клиенте (это недостаток безопасности - любой человек может подключиться к базе данных и что-нибудь уронить)
  • вам не нужны специальные разрешения брандмауэра (или конфигурация MySQL порта) для своих клиентов - большинство серверов не позволяют внешние сторон подключиться к порту 3306

вы можете использовать BlazeDS для этого, или вы можете создайте свое собственное решение, если дело просто достаточно (мне на самом деле не нравилось, как BlazeDS обрабатывает вещи, когда мне приходилось делать этот выбор некоторое время назад)

Исключение, которое вы получаете, на самом деле является отправкой сообщений AMF, а не любой другой технологией. Проверьте, действительно ли URL-адрес, отображаемый в сообщении, 404.

+0

Как это проверить (сообщение 404)? – Koko

+0

в вашем браузере – Bozho

+0

Bozho, какие были вещи от BlazeDS, которые вам не понравились? –

0

Если вы получаете ошибку 404, ваш сервлет BlazeDS не работает. Убедитесь, что вы не получили никаких ошибок, когда вы начали Tomcat.

+0

Перед использованием интерфейса браузера (IE - http: // localhost: 8080/xxx), я начал Tomcat, и результат работает отлично! Отображать данные из базы данных, а также действия в базе данных (добавлять, редактировать, удалять)! Тот же подход, что и интерфейс с AIR (без браузера), и он дает мне это сообщение об ошибке, упомянутое в начале! Почему? – Koko

+0

Я только что заметил, что в вашем URL-адресе есть .swf. Скорее всего, это не так. Поскольку это приложение AIR, вам необходимо предоставить полный адрес Flex на сервере. Вы можете сделать это в файле service-config.xml, заменив токены сервера и порта вашими фактическими значениями. Но лучшим решением является наличие файла конфигурации для вашего приложения, загружаемого при запуске, а затем динамически задает URL-адреса конечных точек. –

+0

Большое спасибо за вашу помощь ... У меня есть другой вопрос: знаете ли вы, есть ли у них возможность автоматического подключения от Adobe Air к MySQL? – Koko

 Смежные вопросы

  • Нет связанных вопросов^_^