Вы можете использовать BlazeDS для этого.У меня нет примера десериализации на сервере, но вот пример для сериализации.В сервлете сделайте что-то вроде:
response.setHeader("Content-Type", "application/x-amf");
ServletOutputStream out = response.getOutputStream();
ActionMessage requestMessage = new ActionMessage(MessageIOConstants.AMF3);
MessageBody amfMessage = new MessageBody();
amfMessage.setData(list);
requestMessage.addBody(amfMessage);
AmfMessageSerializer amfMessageSerializer = new AmfMessageSerializer();
amfMessageSerializer.initialize(SerializationContext.getSerializationContext(), out, new AmfTrace());
amfMessageSerializer.writeMessage(requestMessage);
out.close();
На клиенте сделайте что-то вроде:
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, function(event:Event):void {
var ba:ByteArray = (event.currentTarget.data as ByteArray);
var packet:AMFPacket = AMFDecoder.decodeResponse(ba) as AMFPacket;
});
loader.load(urlReq);
Ваш вариант использования похож на это, просто сериализуйте на клиенте и десериализуйте на сервере.
Вы можете найти весь исходный код для этого примера по адресу:
http://flexapps.svn.sourceforge.net/viewvc/flexapps/census2-tests/