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

Reply via email to