axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Praveen Peddi" <ppe...@contextmedia.com>
Subject array of recursive beans (doc/literal style)
Date Wed, 16 Feb 2005 02:52:08 GMT
I have a method getRootContainers that returns array of ContainerBean[]. Each ContainerBean
has reference to an array of child ContainerBean[]. With Eugene's help I could make the array
stuff work. the method sucessfully returns the array of COntainerBean[] and .NET reads it
fine. But .NET client doesn't read them recursively. It only build the top level array fine
but each ContainerBean has array of other ContainerBean. My service in wsdd looks as follows:

<service name="CMISOAPContainerService" provider="java:RPC" style="wrapped" use="literal">

<parameter name="allowedMethods" value="copyContainer createContainer deleteContainer getContainer
getContainerIcon getContainerProperties getRootContainers getContainerObjects getContentObjectsForContainer
getRootContainers moveContainer updateContainer createQueryContainer updateQueryContainer
createTaxonomy"/>

<parameter name="scope" value="session"/> 

<parameter name="className" value="com.contextmedia.ip.session.soap.CMISOAPContainerService"/>



<operation name="getRootContainers" qname="ns:getRootContainers" xmlns:ns="http://soap.session.ip.contextmedia.com"
    returnQName="ns:item" returnType="ns:ContainerBean[]" >

    <parameter name="depth" qname="ns:depth" type="xsd:int" mode="IN" />

</operation>


<typemapping languageSpecificType="java:com.contextmedia.ip.session.soap.ContainerBean[]"
qname="soapenc:Array" deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
serializer="org.apache.axis.encoding.ser.ArraySerializerFactory" encodingStyle="" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"/>


<beanMapping qname="bean:ContainerBean" xmlns:bean="http://soap.session.ip.contextmedia.com"
languageSpecificType="java:com.contextmedia.ip.session.soap.ContainerBean"/>

</service> 

I had to add <operation> and <typeMapping> tags after seeing Eugene's sample.
w/o those two tags, even the first level of ContainerBean[] was not working.

Not sure what else I am missing, How do I make the recursive bean stuff work? Is there any
special configuration in WSDD file to make array of recursive beans work.

Thanks,
Praveen

************************************************************** 
Praveen Peddi
Sr Software Engg, Context Media, Inc. 
email:ppeddi@contextmedia.com 
Tel:  401.854.3475 
Fax:  401.861.3596 
web: http://www.contextmedia.com 
************************************************************** 
Context Media- "The Leader in Enterprise Content Integration" 

Mime
View raw message