Steve,
Please log a bug report in JIRA (http://issues.apache.org/jira/) for
Axis2 with your complete wsdl.
thanks,
dims
On 1/6/06, Steve Molloy <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm having problems with a method using inheritance. I have the
> following types in my WSDL:
>
> <complexType name="BatchTestInfo">
> <sequence>
> <element name="estimatedRunningTime" type="xsd:long"/>
> <element name="goldenVersion" type="xsd:int"/>
> <element name="group" nillable="true" type="string"/>
> <element name="groupPermissions" nillable="true"
> type="tns1:BatchTestPermissions"/>
> <element name="id" nillable="true" type="tns1:TestID"/>
> <element name="name" nillable="true" type="string"/>
> <element name="owner" nillable="true" type="string"/>
> <element name="parentID" nillable="true" type="tns1:TestID"/>
> <element name="worldPermissions" nillable="true"
> type="tns1:BatchTestPermissions"/>
> </sequence>
> </complexType>
> <complexType name="TestGroupInfo">
> <complexContent>
> <extension base="tns1:BatchTestInfo">
> <sequence>
> <element name="tests" nillable="true"
> type="impl:ArrayOf_tns1_TestID"/>
> </sequence>
> </extension>
> </complexContent>
> </complexType>
> <complexType name="BatchTest">
> <sequence>
> <element name="id" nillable="true" type="tns1:TestID"/>
> <element name="latest" nillable="true" type="tns1:Version"/>
> <element name="modificationStamp" type="xsd:long"/>
> <element name="versions" nillable="true"
> type="impl:ArrayOf_tns1_Version"/>
> <element name="info" nillable="true"
> type="tns1:BatchTestInfo"/>
> </sequence>
> </complexType>
> <complexType name="ArrayOf_tns1_BatchTest">
> <sequence>
> <element name="test" type="tns1:BatchTest" nillable="true"
> minOccurs="0" maxOccurs="unbounded"/>
> </sequence>
> </complexType>
>
> <element name="retrieveModifiedBaseGroupsResult"
> type="impl:ArrayOf_tns1_BatchTest"/>
>
> With the retrieveModifiedBaseGroups returning the
> retrieveModifiedBaseGroupsResult element. But for this particular call,
> the BatchTest returned in the array contain TestGroupInfo as info
> member, not simple BatchTestInfo. While I do see in the document that
> the info does contain tests field which is from the TestGroupInfo type,
> not the BatchTestInfo type, the returned class is still a
> BatchTestInfoImpl (using xmlbeans to generate the databindings).
>
> Here's part of the info I could gather by adding:
>
> System.err.println("*** Doc: "+object);
> System.err.println("*** BatchTest[] class:
> "+((com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.messages.RetrieveModifiedBaseGroupsResultDocument)
> object).getRetrieveModifiedBaseGroupsResult().getClass());
> System.err.println("*** BatchTest class:
> "+((com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.messages.RetrieveModifiedBaseGroupsResultDocument)
> object).getRetrieveModifiedBaseGroupsResult().getTestArray(2).getClass());
> System.err.println("*** BatchTest INfo class:
> "+((com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.messages.RetrieveModifiedBaseGroupsResultDocument)
>
> object).getRetrieveModifiedBaseGroupsResult().getTestArray(2).getInfo().getClass());
>
> To the stub...
>
> *** Doc: <retrieveModifiedBaseGroupsResult
> xmlns="http://messages.data.ws.qa.taw.convera.com">
> <test xmlns="">
> <id xmlns="http://data.ws.qa.taw.convera.com">
> <UID>0</UID>
> <type>
> <category xmlns="">Group</category>
> <name xmlns="">State</name>
> </type>
> </id>
> <latest nil="true" xmlns="http://data.ws.qa.taw.convera.com"/>
> <modificationStamp
> xmlns="http://data.ws.qa.taw.convera.com">1135352935419</modificationStamp>
> <versions nil="true" xmlns="http://data.ws.qa.taw.convera.com"/>
> <info xmlns="http://data.ws.qa.taw.convera.com">
> <estimatedRunningTime>0</estimatedRunningTime>
> <goldenVersion>0</goldenVersion>
> <group>admin</group>
> <groupPermissions>
> <executable>false</executable>
> <readable>true</readable>
> <writable>false</writable>
> </groupPermissions>
> <id>
> <UID>0</UID>
> <type>
> <category xmlns="">Group</category>
> <name xmlns="">State</name>
> </type>
> </id>
> <name>State</name>
> <owner>QATool</owner>
> <parentID nil="true"/>
> <worldPermissions>
> <executable>false</executable>
> <readable>true</readable>
> <writable>false</writable>
> </worldPermissions>
> <tests/>
> </info>
> </test>
> ...
> <test xmlns="">
> <id xmlns="http://data.ws.qa.taw.convera.com">
> <UID>0</UID>
> <type>
> <category xmlns="">Group</category>
> <name xmlns="">Ontology</name>
> </type>
> </id>
> <latest nil="true" xmlns="http://data.ws.qa.taw.convera.com"/>
> <modificationStamp
> xmlns="http://data.ws.qa.taw.convera.com">1136406011202</modificationStamp>
> <versions nil="true" xmlns="http://data.ws.qa.taw.convera.com"/>
> <info xmlns="http://data.ws.qa.taw.convera.com">
> <estimatedRunningTime>0</estimatedRunningTime>
> <goldenVersion>0</goldenVersion>
> <group>admin</group>
> <groupPermissions>
> <executable>false</executable>
> <readable>true</readable>
> <writable>false</writable>
> </groupPermissions>
> <id>
> <UID>0</UID>
> <type>
> <category xmlns="">Group</category>
> <name xmlns="">Ontology</name>
> </type>
> </id>
> <name>Ontology</name>
> <owner>QATool</owner>
> <parentID nil="true"/>
> <worldPermissions>
> <executable>false</executable>
> <readable>true</readable>
> <writable>false</writable>
> </worldPermissions>
> <tests>
> <id xmlns="">
> <UID>1</UID>
> <type>
> <category>Group</category>
> <name>Ontology</name>
> </type>
> </id>
> ...
> <id xmlns="">
> <UID>11</UID>
> <type>
> <category>Ontology</category>
> <name>Facet</name>
> </type>
> </id>
> </tests>
> </info>
> </test>
> </retrieveModifiedBaseGroupsResult>
>
> *** BatchTest[] class: class
> com.convera.taw.qa.ws.databinding.steve.impl.ArrayOfTns1BatchTestImpl
> *** BatchTest class: class
> com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.impl.BatchTestImpl
> *** BatchTest INfo class: class
> com.convera.taw.qa.ws.databinding.com.convera.taw.qa.ws.data.impl.BatchTestInfoImpl
>
>
> Any help would be appreciated.
>
> Thanks,
> Steve
>
--
Davanum Srinivas : http://wso2.com/blogs/