Hi Kai,
 
thanks..now it is working..
 
But if "outer" bean contains an array of "inner" bean, then things are not working.
I have declared the bean mapping in wsdd file and registered the tpye mappings in client as before (the case when "outer" bean just contain a single "inner" bean).
 
Am I missing something?
 
thanks,
Naresh Agarwal
-----Original Message-----
From: Kai Unewisse [mailto:[EMAIL PROTECTED]
Sent: Friday, June 13, 2003 12:59 AM
To: [EMAIL PROTECTED]
Subject: RE:RE: Does AXIS provide serializers/deserializers for nested javabeans?

Hi Naresh,
 
One thing about your Bean classes is, that it should be a public class ...    
 
looks fine, but how looks the variable qn and qn1 ?
 
My Code looks like :
 
private QName qn   = new QName("urn:BeanService", "innerbean");
private QName qn1 = new QName("urn:BeanService", "outerbean");
 
 
Register ist the same, except I show the package structure : 
 
call.registerTypeMapping(inner.class, qn,
                      new org.apache.axis.encoding.ser.BeanSerializerFactory(myprograms.complexdatatype.inner.class, qn),
                      new org.apache.axis.encoding.ser.BeanDeserializerFactory(myprograms.complexdatatype.inner.class, qn));
 
Completly the same : 
 
<beanMapping qname="myNS:innerbean" xmlns:myNS="urn:BeanService" languageSpecificType="java:myprograms.complexdatatype.inner"/>
<beanMapping qname="myNS:outerbean" xmlns:myNS="urn:BeanService"languageSpecificType="java:myprograms.complexdatatype.outer"/>
 
 
 I tried using BeanSerializer but it's not working..
 
I have declared the bean mapping for both the beans "inner" and "outer" in wsdd file as follows: 
--------
<beanMapping qname="myNS:innerbean" xmlns:myNS="urn:BeanService" languageSpecificType="java:myprograms.complexdatatype.inner"/>
<beanMapping qname="myNS:outerbean" xmlns:myNS="urn:BeanService"languageSpecificType="java:myprograms.complexdatatype.outer"/>
------
 
I have also registered the type mapping in the client
 
-------
call.registerTypeMapping(inner.class, qn,
                      new org.apache.axis.encoding.ser.BeanSerializerFactory(inner.class, qn),
                      new org.apache.axis.encoding.ser.BeanDeserializerFactory(inner.class, qn));
 
  call.registerTypeMapping(outer.class, qn1,
                        new org.apache.axis.encoding.ser.BeanSerializerFactory(outer.class, qn1),
                        new org.apache.axis.encoding.ser.BeanDeserializerFactory(outer.class, qn1));
--------
 
Am I missing something?
 
          class inner {
 
    private int Data;
    public inner()
 
    public setData(int d) {
        Data = "">
    }
 
    public int getData() {
        return Data;
    }
 
}
 
class outer {
 
    private int Data;
    private inner in;
 
    public outer()
    public setData(int d) {
        Data = "">
    }
 
    public int getData() {
        return Data;
    }
 
    public setInnerBean(inner i {
        in = i;
    }
 
    public inner getInnerBean() {
        return in;
    }
 
}

Reply via email to