Принуждение не выполнено, так как коллекция, полученная от BlazeDS, заполнена "объектом" вместо реальных - PullRequest
0 голосов
/ 18 января 2012

Я использую flex 4.5.1, JDK 1.6, BlazeDS v4.0.1 (21287) в сложном проекте: Cairngorm используется большую часть времени, но Swiz также используется в импортированном SWC.Во многих случаях я мог без проблем выполнять удаленные вызовы в java, но не сейчас.

Я получаю сообщение об ошибке в своем гибком коде, когда я выполняю итерацию по коллекции, полученной от моего java-сервера (RemoteCall):

Java-функция
List< FundGenderDto > getFundGenders()

Моя ошибка: TypeError: Error #1034: Type Coercion failed: cannot convert Object@a245779 to com.xxx.apps.fnr.vo.fund.FundGenderVO

При отладке я вижу, что я получаю коллекцию ArrayCollection объектов, содержащих дополнительные значения, специфичные дляFundGenderVO / FundGenderDto

Код сценария действия, где это происходит:
for each ( var gender : FundGenderVO in list ){ // do something }

Мой FundGenderVO.as:

package com.xxx.apps.fnr.vo.fund
{  
    import mx.collections.ArrayCollection;
    [RemoteClass(alias="com.xxx.apps.fnr.service.dto.FundGenderDto")]   
    [Bindable]  
    public class FundGenderVO extends AbstractVO {  
            public var id:int;  
            public var type:String;  
            public var fundTypes: ArrayCollection = new ArrayCollection();  

            public function FundGenderVO(){  
                    super();  
            }  
}  

}

Я активировал полную трассировку BlazeDS, чтобы убедиться, что я получаю соответствующий файл: com.xxx.apps.fnr.service.dto.FundGenderDto.
Так же, как в моем "RemoteClass"

[BlazeDS]Result: 'java.util.ArrayList (Collection size:2)
  [0] = com.xxx.apps.fnr.service.dto.FundGenderDto@99f98a[type=Long Only,fundTypes=[com.xxx.apps.fnr.service.dto.FundTypeDto@60540d[type=Umbrella,investable=false,id=100], com.xxx.apps.fnr.service.dto.FundTypeDto@2e2f02[type=Sub-Fund,investable=false,id=300]],id=0]
// second object ...

Я пытался проверить, не сделал ли я глупую ошибку с http://www.webappsolution.com/wordpress/tag/remoteclass-metadata/

Есть ли способ лучше диагностировать, что происходит?
Что я, возможно, делаю неправильно или глупо?

...