Взял простейший пример
отсюда.
Там также flex пример.
Вот моя pure as3 реализация:

Код AS3:
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
import flash.net.Responder;
import flash.text.TextField;
public class PureAS3BlazeDS extends Sprite
{
private var tf:TextField;
private var nc: NetConnection;
public function PureAS3BlazeDS()
{
addChild(tf = new TextField());
tf.width = 1000;
tf.border = true;
nc = new NetConnection();
nc.objectEncoding = ObjectEncoding.AMF3;
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetConnectionNetStatus);
nc.addEventListener(IOErrorEvent.IO_ERROR, IO_ERROR);
nc.addEventListener(Event.ACTIVATE, onConnect);
nc.connect("http://localhost:8080/BlazeDs/messagebroker/amf");
addEventListener(Event.ADDED_TO_STAGE, onAdded);
}
private function onAdded(e: Event):void
{
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
}
private function onConnect(e: Event):void
{
traceIt('connected!');
nc.call('HelloWorld.sayHello', new Responder(onResult, onStatus));
nc.removeEventListener(Event.ACTIVATE, onConnect);
}
private function IO_ERROR (e:IOErrorEvent):void {
traceIt('no connect!');
}
private function onNetConnectionNetStatus(e : NetStatusEvent) : void
{
traceIt("code: " + e.info.code);
}
private function callFunc():void
{
}
private function onResult(...args):void
{
traceIt(args[0]);
}
private function onStatus(...args):void
{
}
private function traceIt(value: String):void
{
tf.appendText('\n' + value);
}
}
}
PS. Из дебага не работает, нужно класть в webapps/BlazeDs. Почему уже сил разбираться нет.