初めまして 藤本と申します
AXISの勉強をしていて,シリアライザとデシリアライザを自分で
定義してみようと思いましたが以下のような場合についての
簡単なサンプルを提示していただけませんか
1.クラスBarとクラスBazにはシリアライザとデシリアライザが
定義されている.
2.クラスFooはFoo(Bar bar, Baz baz)というpublicなコンストラクタ
を持つがインスタンスフィールドにはBarとBazを持たない.
3.Fooはデフォルトコンストラクタを持たない.
このような場合FooのデシリアライザをBarとBazのデシリアライザ
を利用して定義するには?
初めまして 藤本と申します
AXISの勉強をしていて,シリアライザとデシリアライザを自分で
定義してみようと思いましたが以下のような場合についての
簡単なサンプルを提示していただけませんか
1.クラスBarとクラスBazにはシリアライザとデシリアライザが
定義されている.
2.クラスFooはFoo(Bar bar, Baz baz)というpublicなコンストラクタ
を持つがインスタンスフィールドにはBarとBazを持たない.
3.Fooはデフォルトコンストラクタを持たない.
このような場合FooのデシリアライザをBarとBazのデシリアライザ
を利用して定義するには?
Toshiyuki Kimura wrote:
> To: 藤本さん
>
> はじめまして。木村です。
>
> 残念ながら、この問いに対する答えは『無理です』ということに
> なってしまいます...。
>
> もし、クラスFooがJavaBeanであれば、BeanSerializerを利用する
> ことが可能ですが、想定されている条件はそのようなケースではない
> たいめです。ご本人独自でシリアライザ・デシリアライザを実装して
> カスタムシリアライゼーションを行う必要があると思います。
>
> 具体的にどのような利用方法を検討されているのかは不明ですが
>
先ほどのにミスがありました
>_call.invoke( new Object[]{project, } );
>
>
とあるのは
_call.invoke(new Object[]{bar, });
の間違いでした.エラーになるのはこれが原因ではありません.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
> 木村です。
>
> IllegalArgumentExceptionですから、プログラムが想定する
> クラス型以外のインスタンスが引数として渡されているという
> ことを示しています。
>
> ただ、少し不思議なところもあります。WSDDのbeanMapping
> 定義で、「languageSpecificType="Bar"」および
> 「languageSpecificType="Baz"」
> といった指定がなされていますが、これで問題なくデプロイ
> できているでしょうか?Exceptionが発生してしまってうまく
>
> そこで対処方法ですが、WSDDのlanguageSpecificTypeの指定を
>
> languageSpecificType="java:hoge.Bar"
> languageSpecificType="java:hoge.Baz"
>
> といった形に修正して結果を報告お願いできますでしょうか?
> ポイント1は「java:」が追加されていることで、ポイント2は
> クラス「Bar」および「Baz」をパッケージ名を含む名称として
> 記載している点です。上記例では、hogeパッケージということ
> になります。
のようにしてみましたが
前のメールの内容は間違いでした
スタブでシリアライザを登録していなかったため
出たものです
やはり
致命的: 例外発生: / [en]-(Exception:)
java.lang.IllegalArgumentException: object is not an instance of
declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
となります.
今原因がわかりました.
スタブでのシリアライザ登録のとき間違って別の
オブジェクトを指定していたものです.
わからないことだらけなのでWSDDの書き方が間違っているのかと
思い(ちょっとデプロイがまともに動いてないこともあって)
ご迷惑をおかけしました.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
藤本ともうします
シリアライザとデシリアライザを自作してみて不明点が
出てきたので質問します
オブジェクトの下位構造を表すXMLタグの順番について
シリアライザで設定した順番がデシリアライザの
DeserializerImplのメソッドsetChildValue(Object, Object)
で受け取る順番と一致するということを仮定しても良いので
しょうか?
実際に作って動かしてみたところ同じ順番になっている
ようですが,これを仮定して良いかどうかで作り方が
変わってしまうので確認したいのです.