[akabana-user:63] Re: インタフェースを実装する DTO= ?ISO-2022-JP?B?GyRCJS8laSU5GyhC?=

arkw e1.arkw @ gmail.com
2006年 11月 13日 (月) 14:15:28 JST


有川です。

>
> 一点確認させてください。
>
> flex2-example-1.0.0-rc-2.zip の AddDto サンプルに対して、
>
> 1)中身が空のインタフェースを定義
>
>   package examples.flex2.add.dto
>   {
>       [RemoteClass(alias="examples.flex2.add.dto.Dto")]
>       interface Dto
>       {
>       }
>   }
>
> 2)AddDto クラスは上記 Dto インタフェースを implements
>   するよう修正
>
> 3)add_script.as の amf.calculate2(addDto); 呼び出しを
>   amf.calculate3(addDto) に変更
>
> 4)サーバ側に Dto インタフェースを追加
>   AddService に calculate3(Dto dto) を追加
>   AddServiceImpl に calculate3(Dto dto) を実装
>   calculate3(Dto dto) は AddServiceImpl#calculate2(AddDto)
>   を呼び出す
>
> この場合、想定通り足し算は正しく実行できるのですが、
動作確認いたしました。

サーバ送信するデータは、amf.calculate3(addDto) となっているので、
AddDtoにDtoをimplementsしていてもaddDtoのインスタンスとなります。
なので、java側で受け取ったらRemoteClassに従って、AddDtoのインスタンスとなり
ます。

よって、正しく計算できると思います。

> 1)のインタフェースのパッケージを異なるところに変更すると
> 以下の例外が発生するようです。
私は、  flex2-exampleの最新レビジョンで、検証を行ないましたが
同様の現象は、発生していません。
S2flex2 1.0.0リリースに向けて修正したので、
お手数ですが、flex2_example1.0.0で試していただけないでしょうか?
http://s2flex2.sandbox.seasar.org/download/2006-11-11/flex2-example-1.0.0.zi
p

以上、宜しく御願い致します。




akabana-user メーリングリストの案内