木村様 山口です。 お世話になっております。
下記の手順通りにやったら上手くいきました。 古いWSDLのままクライアントを作成していたのが原因のようでした。 本当にありがとうございました。 > -----Original Message----- > From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED] > Sent: Monday, September 05, 2005 5:57 PM > To: axis-user-ja@ws.apache.org > Subject: RE: BeanSerializer > > > 木村です。 > > 単純なJavaBeanですから、標準のBeanSerializerで > (デ)シリアライズできるはずです。再度、下記の手順 > で確認お願いします。 > > 1.AddObject用のシリアライザ設定を追加したWSDDを作成 > 2.上記1)のWSDDを利用してサービスを再デプロイ > 3.新しいWSDLを取得 > 4.wsdl2Javaでクライアントスタブの再生成 > (TypeMappingを確認) > > 私の環境では、BoodsInfoBeanもAddObjectも無事送受信 > できました。 > --- > Toshi <[EMAIL PROTECTED]> > > On Mon, 5 Sep 2005 [EMAIL PROTECTED] wrote: > > > 山口です。 > > > > AddObjectクラスは添付のとおりです。 > > > >> 既に、登録しているGoodsInfoBeanを参考にして、AddObject > >> 用のエントリーをWSDDに追加し、再デプロイした上で動作確認 > >> をお願いします。 > > 上記のとおりデプロイし直して動作したところ、 > > これまでとは異なる以下のようなエラーが返ってきました。 > > > > AxisFault > > faultCode: > {http://schemas.xmlsoap.org/soap/envelope/}Server.userException > > faultSubcode: > > faultString: org.xml.sax.SAXException: No deserializer for > {http://bean.sample.com}AddObject > > faultActor: > > faultNode: > > faultDetail: {http://xml.apache.org/axis/}stackTrace: > org.xml.sax.SAXException: No deserializer for > {http://bean.sample.com}AddObject > > (一部抜粋) > > > > > >> -----Original Message----- > >> From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED] > >> Sent: Monday, September 05, 2005 3:09 PM > >> To: axis-user-ja@ws.apache.org > >> Subject: RE: BeanSerializer > >> > >> > >> 木村です。 > >> > >> AddObjectの実装が分からないので何ともいえないのですが > >> まずAxis標準のBeanSerializerでシリアライズできないのかを > >> 確認して頂けませんか? > >> > >> 既に、登録しているGoodsInfoBeanを参考にして、AddObject > >> 用のエントリーをWSDDに追加し、再デプロイした上で動作確認 > >> をお願いします。以下はWSDDの記載例(一部抜き出し)。 > >> > >> <beanMapping qname="ns:GoodsInfoBean" > >> xmlns:ns="http://bean.sample.com" > >> languageSpecificType="java:com.sample.bean.GoodsInfoBean"/> > >> <beanMapping qname="ns:AddObject" > >> xmlns:ns="http://bean.sample.com" > >> languageSpecificType="java:com.sample.bean.AddObject"/> > >> > >> よろしくお願いします。 > >> --- > >> Toshi <[EMAIL PROTECTED]> > >> > >> > >> On Mon, 5 Sep 2005 [EMAIL PROTECTED] wrote: > >> > >>> 山口です。 > >>> > >>>> in0.setObject((Object)add); > >>> に変更して試してみたのですが、 > >>> 変更前と同じIOExceptionが発生します。 > >>> > >>> AddObjectはBeanクラスです。 > >>> > >>>> AddObject用のカスタムシリアライザを作成して > >>>> 登録することになると思います。 > >>> カスタムシリアライザの作成及び登録方法に > >>> ついて教えていただけないでしょうか? > >>> > >>>> -----Original Message----- > >>>> From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED] > >>>> Sent: Monday, September 05, 2005 2:07 PM > >>>> To: axis-user-ja@ws.apache.org > >>>> Subject: RE: BeanSerializer > >>>> > >>>> > >>>> 木村です。 > >>>> > >>>> ソースを確認しただけで、動作させてのコメントではあり > >>>> ませんが、問題箇所はサービス実装部(...BindingImpl)の > >>>> > >>>> in0.setObject(add); > >>>> > >>>> という行だと思います。addは、com.sample.bean.AddObject > >>>> ですが、そのシリアライザが登録されていないため、エラー > >>>> が発生しているのではないかと推測します。 > >>>> > >>>> AddObjectクラスがどのようなものか分からないのですが > >>>> 単にキャストして済むのであれば、 > >>>> > >>>> in0.setObject((Object)add); > >>>> > >>>> がAxisの定義上では正しいと思われます。それで動作するか > >>>> どうかは試してご報告頂きたいのですが、もし動作しないの > >>>> であれば、AddObject用のカスタムシリアライザを作成して > >>>> 登録することになると思います。 > >>>> > >>>> よろしくお願いします。 > >>>> --- > >>>> Toshi <[EMAIL PROTECTED]> > >>>> > >>>> On Mon, 5 Sep 2005 > [EMAIL PROTECTED] wrote: > >>>> > >>>>> 木村様 > >>>>> > >>>>> 山口です。 > >>>>> お世話になっております。 > >>>>> > >>>>>> ただ今回、具体的な問題箇所が分からないので、可能であれ > >>>>>> ば、エラーの発生するクライアント/サービス実装/WSDL/WSDD/ > >>>>>> およびBean実装を可能な範囲で公開ください。最低でも、WSDD > >>>>>> とBean実装があることが望ましいところです。 > >>>>> > >>>>> 添付します。 > >>>>> > >>>>> また、SoapBindingStubのTypeMappingの部分を以下のように書き換えて > い > >> ま > >>>> す。 > >>>>> _call.registerTypeMapping(GoodsInfoBean.class, qName, > >>>>> new BeanSerializerFactory(GoodsInfoBean.class,qName), > >>>>> new BeanDeserializerFactory(GoodsInfoBean.class,qName)); > >>>>> > >>>>>> -----Original Message----- > >>>>>> From: Toshiyuki Kimura [mailto:[EMAIL PROTECTED] > >>>>>> Sent: Monday, September 05, 2005 11:34 AM > >>>>>> To: axis-user-ja@ws.apache.org > >>>>>> Subject: Re: BeanSerializer > >>>>>> > >>>>>> > >>>>>> 山口さん > >>>>>> > >>>>>> 木村です。 > >>>>>> > >>>>>> シリアライザの登録が上手くいっていないようです。 > >>>>>> スタブを利用して実装されているようですから、APIはあまり > >>>>>> 意識しなくても、WSDDさえしっかり記述してあげれば問題なく > >>>>>> 動作するはずです。 > >>>>>> > >>>>>> ただ今回、具体的な問題箇所が分からないので、可能であれ > >>>>>> ば、エラーの発生するクライアント/サービス実装/WSDL/WSDD/ > >>>>>> およびBean実装を可能な範囲で公開ください。最低でも、WSDD > >>>>>> とBean実装があることが望ましいところです。 > >>>>>> > >>>>>> よろしくお願いします。 > >>>>>> --- > >>>>>> Toshi <[EMAIL PROTECTED]> > >>>>>> > >>>>>> On Sun, 4 Sep 2005 > >> [EMAIL PROTECTED] wrote: > >>>>>> > >>>>>>> 山口と申します。 > >>>>>>> 引数をBeanとしたWebサービスを作成しています。 > >>>>>>> Beanはint型、String型、Object型で構成されてます。 > >>>>>>> 現在は、Object型の値がnullであれば問題なく動作しています。 > >>>>>>> > >>>>>>> ただし、Object型にデータをセットすると以下のようなエラーが > >>>>>>> 起きてしまいます。 > >>>>>>> |faultString: java.io.IOException: No serializer found for > >>>>>>> | class com.sample.bean.AddObject in registry > >>>>>>> [EMAIL PROTECTED] > >>>>>>> > >>>>>>> Beanの中のObject型のシリアライズ/デシリアライズの方法を教えて > >>>>>>> いただけないでしょうか? > >>>>>>> > >>>>>>> wsdl2Javaでスタブやスケルトンを生成した際に、サービスの引数に > >>>>>>> しているBeanに > >>>>>>> public static org.apache.axis.encoding.Serializer > >> getSerializer( > >>>>>>> java.lang.String mechType, > >>>>>>> java.lang.Class _javaType, > >>>>>>> javax.xml.namespace.QName _xmlType) { > >>>>>>> return > >>>>>>> new org.apache.axis.encoding.ser.BeanSerializer( > >>>>>>> _javaType, _xmlType, typeDesc); > >>>>>>> } > >>>>>>> > >>>>>>> のような追記されているメソッドがいくつかあるのですがこれを利用 > >>>>>>> するのでしょうか。 > >>>>>>> > >>>>>>> よろしくお願い致します。 > >>>>>>> > >>>>>>> 木村様> > >>>>>>> お礼が遅くなってしまいましたが、 > >>>>>>> 先日は回答頂きありがとうございました。 > >>>>>>> おかげさまで解決できました。 > >>>>>>> > >>>>>>> > >>>>>> > >>>> > >> > --------------------------------------------------------------------- > >>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>>> For additional commands, e-mail: > [EMAIL PROTECTED] > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>> > >> > --------------------------------------------------------------------- > >>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>> For additional commands, e-mail: > [EMAIL PROTECTED] > >>>>>> > >>>>>> > >>>>> > >>>> > >>>> > >> > --------------------------------------------------------------------- > >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>> > >>>> > >>> > >>> > >> > --------------------------------------------------------------------- > >>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>> For additional commands, e-mail: [EMAIL PROTECTED] > >>> > >>> > >> > >> > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]