Flash Remotingと呼ばれるAMFのPHP実装(AMFPHP)
が1.0になっていました。
さらに、別のエントリーでAMFPHP1.0とFlex2の連携をする方法のエントリがありました。
Flex2になってAMFの仕様が変わっているようで、JavaAdapterをテストしているときのConsoleにもversionが3になっていることがログとして出力されていました。
[Flex] Deserializing AMF/HTTP request Version: 3 (Message #0 targetURI=null, responseURI=/1) (Array #0) [0] = (Typed Object #0 'flex.messaging.messages.CommandMessage') headers = (Object #1)
AMFPHPやOpenAMFなどはこのAMF3の仕様ではないのでどうするのかと思ったら、AMFのバージョンを0として指定することで、AS1/2で使っていたAMFフォーマットを利用できるようです。
mxmlのRemoteObjectタグを使わずにAS3でNetConnectionクラスを拡張したClassを作成しそのクラス経由で接続します。
そして接続時のAMFのencodingを"AMF0"にすることで従来のAMFフォーマット(AMF0)のgatewayに接続することができるとのこと。
この方法を使えば、Flex2とOpenAMFとの接続も可能な気がします。
だれか試してみてください。m(__)m
AMFPHP 1.0 Works with Flex 2 / Flash Player 8.5 Alpha
http://www.jessewarden.com/archives/2005/12/amfphp_10_works.html
AMFPHP
http://www.amfphp.org/
NetConnectionクラス(livedocs)
http://livedocs.macromedia.com/labs/1/flex/langref/flash/net/NetConnection.html
ObjectEncodingクラス(livedocs)
http://livedocs.macromedia.com/labs/1/flex/langref/flash/net/ObjectEncoding.html
flexcodersにあった投稿
http://groups.yahoo.com/group/flexcoders/message/26458
この記事に対するコメント