Ошибка Flex flex.messaging.io.amf.ASObject не может быть приведена к - PullRequest
2 голосов
/ 13 сентября 2010

У меня есть объект сценария действия, который содержит коллекцию массивов другого объекта, оба объекта отражают объекты Java, которые представляют собой таблицы базы данных, представленные в виде bean-компонентов, я использую спящий режим blazeds spring ... обычные конфигурации для flex RIAс языком бэкэнд-сервера Java все другие объекты работают отлично, но на этот раз мне нужно было получить эти данные со стороны клиента, и я это делаю, но когда я попадаю в Set, представленный как коллекция массивов на стороне клиента, я получаю эту ошибку !!!!!оба класса работают в других ситуациях, для этих классов хорошо подходит отображение, я подозреваю, что мне нужно преобразовать коллекцию массивов на стороне сервера, но, возможно, я сделал что-то не так, и на стороне сервера можно выяснить тип объектов коллекции массивов и преобразовать их!!!кто-нибудь попал в это ??

заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 11 октября 2010

Это может произойти, если удаленные классы не включены в SWF, и обычно это происходит, если на них нет ссылок в коде AS.Работа с объектами в вашем коде приведет к тому, что SWF включит их в компиляцию.

Из документации: В классе ActionScript вы используете тег метаданных [RemoteClass (alias = "")] для создания объекта ActionScript, который отображается непосредственно на объект Java.Класс ActionScript, в который преобразуются данные, должен использоваться или указываться в файле MXML, чтобы он мог быть связан с файлом SWF и доступен во время выполнения.Хороший способ сделать это - привести объект результата, как показано в следующем примере:

0 голосов
/ 29 января 2013

У меня тоже была такая же проблема. Можете ли вы опубликовать определение канала? Это чисто проблема конфигурации, я верю. В определении канала есть некоторые атрибуты, которые предотвращают преобразование flex VO в java или любой серверный VO.

<serialization>
     <instantiate-types>false</instantiate-types>
</serialization>

Это, в частности. Если для этого значения установлено значение false, измените его на true и попробуйте

...