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