Yes!  I found most important to match the xmlns:ns from the
server-config.wsdd typemapping entry with that of the test client
registerTypeMapping qname argument.

<typeMapping
        xmlns:ns="http://object";
        qname="ns:MyObject"
        type="java:object.MyObject"
        serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
        deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
/>

QName myObjectQName = new QName("http://object";, "MyObject");
addCall.registerTypeMapping(MyObject.class, myObjectQName,
BeanSerializerFactory.class, BeanDeserializerFactory.class);

Namespacing issues are starting to become more clear to me.

Thanks to all who responded!
-Orion

-----Original Message-----
From: Tom Jordahl [mailto:[EMAIL PROTECTED]]
Sent: Thursday, January 09, 2003 10:59 AM
To: '[EMAIL PROTECTED]'
Subject: RE: No deserializer defined for array type ?



Do you have a Deserializer registered for the XML type
{http://object.myObject}MyObject?

--
Tom Jordahl
Macromedia


-----Original Message-----
From: McCaslin Orion [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 08, 2003 7:51 PM
To: [EMAIL PROTECTED]
Subject: No deserializer defined for array type ?


Hi,

I am not having success getting an array of complex objects deserialized in
a simple test client.

Has anybody figured out how to solve this error?

org.xml.sax.SAXException: No deserializer defined for array type
{http://object.myObject}MyObject at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeseriali
zer.java:257)


The Service function:
public MyObject[] getMyObjects() {
      MyObject[] myObjArray = new MyObject[3];
        myObjArray[0]= new MyObject();
        myObjArray[1]= new MyObject();
        myObjArray[2]= new MyObject();
        return(myObjArray);
}

I've seen a few of these error postings w/o answers.

In another posting, a workaround was mentioned...
----------------------------------------------------
Define a class which holds your array, and make the
new class a bean. Something like this

class Folders {
        Folder[] folders;
      getter/setter functions
-----------------------------------------------------
Is this really the only way?

Many thanks,
Orion

Reply via email to