В настоящее время я перевожу большой проект с Flex 3 на Flex 4.5.Проблема, на которой я застрял, заключается в сетевом взаимодействии: мы используем собственный протокол, который мы встраиваем в AMF3, но кажется, что сообщения, отправленные flash.net.NetConnection, не читаются.
Наша Java назад-end использует некоторые классы BlazeDS для десериализации сообщения, а именно flex.messaging.io.amf.AmfMessageDeserializer.AmfMessageDeserializer, и я могу отслеживать сетевой трафик с помощью Charles Web Proxy, который декодирует AMF3.Очень простой код ниже отправляет сообщение, которое может быть декодировано Чарльзом при компиляции во Flex 3.5, но не во Flex 4.5 (я получаю сообщение «Не удалось проанализировать данные (com.xk72.amf.AMFException: Неподдерживаемый тип пакета AMF3 17 при 26»).).
import mx.controls.Alert;
private function init():void
{
var pdl : Dictionary = new Dictionary();
var connection : NetConnection = new NetConnection();
connection.connect("http://localhost");
var responder : Responder = new Responder(result);
connection.call("net", responder, pdl);
}
private function result(pdl : Object) : void {
Alert.show("coucou", "hello");
}
Я настроил сервер apache на localhost: 80, чтобы проверить это.
Кто-нибудь использовал NetConnection в Flex 4.5 и сталкивался с проблемами десериализации? Как вы их решали??
Спасибо,
Даниил