[Seasar-user:14073] Re: [s2axis2]戻り値が enum クラスのサービスについて
Chihiro Ueta
[E-MAIL ADDRESS DELETED]
2008年 5月 4日 (日) 00:19:34 JST
植田です。
Takanori Suzuki さんは書きました:
> たかのりです。
>
> 2008/05/01 15:25 Chihiro Ueta <[E-MAIL ADDRESS DELETED]>:
>> お世話になります。植田と申します。
>>
>> S2Axis2Examples 0.5.0を参考にさせて頂き、enum クラスを返すサービスをデプ
>> ロイしてクライアントプログラムから実行すると、下のような例外が発生しました。
>>
>> org.apache.axis2.AxisFault: java.lang.RuntimeException:
>> org.apache.axis2.AxisFault: Mapping qname not fond for the package:
>> org.apache.catalina.loader
>>
>> どのような原因が考えられますでしょうか?
>
> Axis2 1.3(S2Axis2 0.5.0で使用) では、enum型は未サポートです。
>
> enum型を利用する場合は、
> サービスの戻り値を、enum型ではなくString型とし、
> クライアントで、enum型に変換してやる必要があります。
教えて頂いた通り、String型を使用するようにしたいと思います。
ご教示 ありがとうございます。
>
> 以下のような実装になります。
> ------------------------------------
> 【サービスのインタフェース】
> ------------------------------------
> public interface Abc {
>
> public enum Type {
> A,B
> }
>
> public Type getType();
> }
> ------------------------------------
> 【サービスの実装クラス】
> ------------------------------------
> public class AbcImpl implements Abc {
>
> public String getType() {
> return Type.A.toString();
> }
> }
> ------------------------------------
> 【クライアントのクラス】
> ------------------------------------
>
> JDK15Service service;
>
> ・・・
>
> String typeValue = service.getType();
> Type type = Type.valueOf(colorTypeValue);
>
>
Seasar-user メーリングリストの案内