2010-10-25 2 views
1

Недавно я попал в ситуацию при отправке вложенного объекта из Java в Flex через HashMap. Объекты были пустыми. Точнее:Сериализация BlazeDS со сложными типами

final Map<Integer, List<String>> tempMap = new HashMap<Integer, List<String>>(); 

отправил ключи в виде целых чисел, но значения были пустыми.

Но при отправке же с ключами Струнные:

final Map<String, List<String>> tempMap = new HashMap<String, List<String>>(); 

объекты пришли через.

Существуют ли ограничения в сериализации BlazeDS при использовании сложных типов в качестве ключей?

ответ

1
  1. Включите ошибки собственности в вашем services.config.xml:

    <channels> 
    <channel-definition id="YourChannel" class="mx.messaging.channels.AMFChannel"> 
    <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint" /> 
    
    <properties> 
        <polling-enabled>false</polling-enabled> 
        <serialization> 
        <ignore-property-errors>false</ignore-property-errors> 
        <log-property-errors>true</log-property-errors> 
        </serialization> 
    </properties> 
    
    </channel-definition> 
    </channels> 
    
  2. Попытка удалить окончательное ключевое слово и попробовать без него. У меня возникли проблемы с сериализацией конечных полей с блейдами