Hi Richard, thanks for your message.
I should have clarified that I'm currently only interested in server->client communication, i.e. the java2XMLClassName attribute; your examples seem to be for client->server. What I'd like to be able to do is something like: <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="soapejb" qname="x:StockBean[]" Java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer" /> OR maybe a combination of <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="soapejb" qname="x:StockBean" Java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer" /> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="soapejb" qname="x:StockBean[]" Java2XMLClassName="org.apache.soap.encoding.soapenc.ArraySerializer" /> And have the invoked method look like: StockBean[] listStocks { //... } However I've concluded that neither of these is possible, and that I will need to write and serialize a wrapper class myself (i.e. a simple bean that contains an array, rather than an array). I can't make ANY type of serializer other than the apache ones work, which worries me. I assume that providing a class and a pointer to it is all that I need to do at the server end? Thanks, Andrew -----Original Message----- From: Hansen, Richard [mailto:[EMAIL PROTECTED]] Sent: Wednesday, January 09, 2002 5:01 PM To: '[EMAIL PROTECTED]' Subject: RE: Serializing an array of beans I don't think you normally need to worry about array serialization. I think it will just happen. You do need to worry about serializing your bean. But if the bean class is properly registered with a serializer arrays should just work. The only reason I needed to register the arrays was so MS SOAP would work. In my Java client I just registered a serializer for my bean. <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="" qname="x:stringArray" xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/> <isd:map encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:x="" qname="x:stringBeanArray" xml2JavaClassName="org.apache.soap.encoding.soapenc.ArraySerializer"/> > -----Original Message----- > From: Andrew Simpson [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, January 09, 2002 3:52 PM > To: [EMAIL PROTECTED] > Subject: Serializing an array of beans > > > Hi, I'm going round in circles trying to serialize an array of beans. > > First I tried using the Apache Bean Serializer, specifying it in the > deployment descriptor; this worked for one bean, but not for an array. > > I then wrapped the array in another class, then tried to write my own > serializer for the wrapper class, and refer to this serializer in the > deployment descriptor. > > This produces an error on post whenever I change it to point > from anything > but the apache serializers. > > I am inspecting the XML returned from the soap servlet, the > output is shown > below. > > On the server end, is using the deployment descriptor (e.g. > xml2java... > attribute) sufficent to successfully invoke my serializer > when returning a > reply? > > From the client end I am using perl SOAP::Lite to invoke the > function. On > the server end I am using the StatelessSessionBean provider > to invoke a > method whose return type is the object array. > > Has anyone managed to write and make work an object array > serializer on > Apache SOAP 2.2. If so, do you have any > code/class/deployment descriptors I > could look at? > > Thanks, > > Andrew > > 12:00:18:362|15|S|010: <SOAP-ENV:Body> > 12:00:18:362|15|S|011: <SOAP-ENV:Fault> > 12:00:18:362|15|S|012: > <faultcode>SOAP-ENV:Server.Exception:</faultcode> > 12:00:18:362|15|S|013: > <faultstring>org/apache/soap/util/xml/Serializer</faultstring> > 12:00:18:362|15|S|014: > <faultactor>/soap/servlet/rpcrouter</faultactor> > 12:00:18:362|15|S|015: </SOAP-ENV:Fault> > 12:00:18:362|15|S|016: > 12:00:18:362|15|S|017: </SOAP-ENV:Body> > > ______________________________________________________________ > __________ > > Andrew Simpson, SpeechWorks International, Inc. > 695 Atlantic Avenue, Boston, MA 02111, U.S.A. > Voice: +1 617 428 4444, Fax: +1 617 757 2211 > [EMAIL PROTECTED] http://www.speechworks.com > >
