あーもー!疲れた.
Error: Error #2030: ファイルの終端 (EOF) が検出されました。
とか
RangeError: Error #2006: 指定したインデックスが境界外です。
とか意味不明なエラーが出ていて,それがFlex側で起きているのかWebサービス側でおきているのか判別が付かず,色々悩んだ.
結局,Teedaと同じようにプロパティを全てpublicに作成していたのが原因だった.ちゃんとgetter/setterを定義したところ,エラーが無くなり問題なく動きました.
前回の導入方法にいくつか間違いがあったので訂正.
まずS2Flex2のコンポーネントについて.僕はソースコードをプロジェクトに取り込むのだと思っていたけれど,ダウンロードしてきたs2flex2-componentsの
target/swc/s2flex2-components.swc
を自分のプロジェクトにコピーして,プロジェクト->プロパティ->Flexビルドパス->ライブラリパス->SWCの追加を行うか,パスの通った場所に置くかするのが正しい.
すると,ComponentのManifest.xmlを読んでくれるようになるので,s2接頭辞を
xmlns:s2="http://www.seasar.org/s2flex2/mxml"
とかけるようになる.
それから,Flex側の送受するコンポーネントのクラス定義には,
[RemoteClass(alias="com.semcode.stuvie.dto.Lectures")]
のように,Javaのクラスへのパスを記述しておくことが必要.
あとは,前述したように必ずgetter/setterが必要だということ.
あーすっきりした!