Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> потеря данных 
V
    Опции темы
FataList
Дата 9.4.2012, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Здравствуйте!

БД (база даных) <----> CF(ColdFusion 9) <-----> Приложение (main.swf)

Флешка (main.swf) лежит на сервере. Запускаю ее удаленно http://192.168.111.1/dev/main.swf с локальной машины.

1) Флешка открывается, в ней есть форма. Данные формы сохраняются и записываются в БД. Закрыли форму.
2) Открыли ее вновь и данные (которые сейчас заполняли) должны были загрузиться и отобразиться в форме.
Но этого не случилось.
Тест показал, что после запроса(на получение данных для формы из БД) данные получены CF и отправлены во флешку, но во флешку уже приходит пустой запрос, т.е. данные потерялись на этапе 
CF(ColdFusion 9) -----> Приложение (main.swf)
есть данные нет данных 

Локально все хорошо.

Видимо проблема с серваком, но если напрямую указать путь, например к фото на серваке (которое было загружено ранее), то она отобразится в форме, т.е. не приходят именно данные почему-то...

Из-за чего они могут не доходить до адресата?

на серваке: IIS 6.0, Windows 2003 
C:\Inetpub\wwwroot\dev\main.swf


Причем ответ приходит в виде ac:ArrayCollection. 
ac[0] - Object с кучей подданных, если можно так выразиться.
Так вот, когда все хорошо, то данные в Object есть.
А когда все плохо, то именно ДАННЫХ в Object нет. 
А ас[0] приходит, но без данных.
Грешил, что сервак данные /"не отдает/", но ведь пользователь проверку (логин/пароль) проходит. 
А уже потом заполняет форму.

Это сообщение отредактировал(а) FataList - 9.4.2012, 17:18
PM MAIL   Вверх
Maksys
Дата 11.4.2012, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



Проблема решается хорошим сном, и профилированием кода с утра. На стороне сервера. А за тем на стороне флешки. Яб для начала заменил флешку простым реквестером и смотрел что уходит от сервака. И так далее.


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
FataList
Дата 11.4.2012, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Тут стало веселее... 

Добавил в форму, для теста, DataGrid и привязал к нему напрямую вызов этого метода, который с пустыми данными приходит.
И что вы думаете? В таблице они отображаются!
relative.cfc (здесь хранятся методы для работы с БД).


Код


public var relatives:Relatives = new Relatives();


protected function init():void
{
      relatives.addEventListener(ResultEvent.RESULT, onResult_relatives);
      relatives.addEventListener(FaultEvent.FAULT, onFault_relatives);
}

protected function getRelativeById(IdRelative:Number):void
{
      relatives.getRelativeById(IdRelative); 
}

private function onResult_relatives(event:ResultEvent):void
{
      // здесь ловлю данные 
      var ac:ArrayCollection = new ArrayCollection();
      ac = event.currentTarget.operations.getRelativeById.lastResult;
      var obj:Object = ac.getItemAt(0);

      // и уже из obj получаю локально данные, а на серваке приходят "undefined"
      // локально: obj.name = "Иван"; на серваке obj.name = "undefined"
}





К тому же так же решил прослушать и DataGrid... результат тоже "undefined", но данные в таблице!
Что за "мистика"!?

Это сообщение отредактировал(а) FataList - 11.4.2012, 14:36
PM MAIL   Вверх
FataList
Дата 12.4.2012, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



У меня ощущение, что проблема с типами данных...
PM MAIL   Вверх
Maksys
Дата 12.4.2012, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



Да скорее всего отсутствует серилизация данных.
я просто не могу понять, каким видом соединения происходит коммуникация между сервером и флешем?
Работа с внешними данными

Это сообщение отредактировал(а) Maksys - 12.4.2012, 10:08


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
FataList
Дата 12.4.2012, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



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

Вот через это (Данные/службы в Flash Builder 4)
user posted image

А отсюда сделал у себя DataGrid для теста в форме
пример2



Кстати, сделал тип данных : RelativeDataType (как видно из картинки)
И после этого данные в DataGrid перестали правильно отображаться (приходят только нули в столбцы (idrelative:int и iduser:int), 
т.е. там где тип данных int - приходит ноль. А в остальные пусто(null) ).

Здесь возвращаемый тип данных RelativeDataType  у метода (relatives.getRelativeById(IdRelative))
Стало так: 
user posted image


Здесь возвращаемый тип данных Object  у метода (relatives.getRelativeById(IdRelative))
А было так:
user posted image

Вот поэтому и грешу на типы данных.

А то что описано  в вашей ссылке: этого у меня нет, по крайней мере я не писал. Есть только то, что создалось само при настройке Данные/службы в Flash Builder 4.

Вот в чем может быть беда? По ощущением какая-то фигня, может разрешение где приписать надо, видимо на серверной стороне не знают, что такое за тип данных RelativeDataType. Как серверу об этом узнать? Или может в чем-то другом беда...
PM MAIL   Вверх
FataList
Дата 12.4.2012, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет




Код

<cffunction name="getRelativeByIdFirstname" output="false" access="remote" returntype="any" >
    <cfargument name="IdRelative" required="yes" type="numeric"/>    
          
    <cfset var qGetRelativeByIdFirstname="">
    <cfquery name="qGetRelativeByIdFirstname" datasource="familytreeSource">
        SELECT IdRelative,FirstName,IdUser
        FROM relatives
        WHERE IdRelative = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#IdRelative#">    
    </cfquery>
    <cfreturn qGetRelativeByIdFirstname.FirstName>
</cffunction>


Вот метод, который забирает простой тип данных. В данном случае получаю Имя.
А когда я пытаюсь передать свой тип данных - пользовательский (RelativeDataType) , то беда. 
Надо разобраться, каким образом сервер должен узнавать о пользовательских типах данных.


Это сообщение отредактировал(а) FataList - 12.4.2012, 16:33
PM MAIL   Вверх
FataList
Дата 13.4.2012, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Цитата

Проблема решается хорошим сном, и профилированием кода с утра. 


Проблема решилась  профилированием кода с 1 ночи и до 8 утра. 
В результате метод, который работал, дома после правки кода, стал неадекватно работать - перестал доходить до места, где заполнял таблицу данными. Это первое.
А второе, что могло быть... на локалке сервер C:\ColdFusion9\wwwroot и cfc файлы там же, а  на серваке это C:\Inetpub\wwwroot
может и из-за этого что пути разные были, но вряд ли.
А третье, это Данные/службы в Flash Builder : сначала тестовый пример, который билдер предлагает сделать, через RDS. А уже потом в получившейся cfc файл добавил свои методы. И скорее всего из-за этого была проблема.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.1292 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.