[prev in list] [next in list] [prev in thread] [next in thread] 

List:       axis-user
Subject:    [axis2 1.0 RC4] wsdl2java choice with unbounded maxOccurs
From:       Diego <diegs () tiscalinet ! it>
Date:       2006-04-29 16:10:56
Message-ID: 44539010.7090009 () tiscalinet ! it
[Download RAW message or body]

Hi all!

The databinding classes that wsdl2java (axis2 1.0 RC4) generates lack 
some methods to get the objects corresponding to an arbitrary number of 
element inside a choice wsdl definition.

The wsdl uses an xsd (http://www.ivoa.net/xml/VOTable/v1.1) that 
presents a fragment which describes a table element that can have an 
arbitrary number of fields or params or groups.  The corresponding class 
generated doesn't have anymore the methods getFIELDArray(), 
getPARAMArray() and getGROUPArray() - those method were generated till 
axis2 v0.94 - or something analogous.  Am I doing something wrong?

Thanks very much for any help!

Diego

========================================================================
         fragment of xsd (http://www.ivoa.net/xml/VOTable/v1.1)
========================================================================

<!-- A TABLE is a sequence of FIELD/PARAMs and LINKS and DESCRIPTION, 
possibly followed by a DATA section -->
   <xs:element name="TABLE">
     <xs:complexType>
       <xs:sequence>
         <xs:element ref="DESCRIPTION" minOccurs="0"/>

         <xs:choice minOccurs="0" maxOccurs="unbounded">
           <xs:element ref="FIELD" />
           <xs:element ref="PARAM" />
           <xs:element ref="GROUP" />
         </xs:choice>

         <xs:element ref="LINK" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="DATA" minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="ID"   type="xs:ID"/>
       <xs:attribute name="name" type="xs:token"/>
       <xs:attribute name="ref"  type="xs:IDREF"/>
       <xs:attribute name="ucd"  type="ucdType"/>
       <xs:attribute name="utype" type="xs:string"/>
       <xs:attribute name="nrows" type="xs:nonNegativeInteger"/>
     </xs:complexType>
   </xs:element>

========================================================================
                            wsdl file
========================================================================

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://astrodas.org/ws/peer"
                         xmlns:tns="http://astrodas.org/ws/peer"
                        xmlns:tns1="http://astrodas.org/ws/model"
                        xmlns:tns2="http://www.ivoa.net/xml/VOTable/v1.1"
                        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
                         xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <wsdl:types>
   <xsd:schema elementFormDefault="qualified" 
targetNamespace="http://astrodas.org/ws/model">
    <xsd:import namespace="http://www.w3.org/2001/XMLSchema" />
    <!--
    <xsd:import namespace="http://www.ivoa.net/xml/VOTable/v1.1" 
schemaLocation="xsd/votable.xsd" />
    -->
    <xsd:import namespace="http://www.ivoa.net/xml/VOTable/v1.1" 
schemaLocation="http://www.ivoa.net/xml/VOTable/v1.1" />
    <!-- insertMappingAnnotations -->
    <xsd:complexType name="external-object">
     <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="id" 
type="xsd:integer" />
      <xsd:element minOccurs="1" maxOccurs="1" name="external-id" 
type="xsd:integer" />
      <xsd:element minOccurs="1" maxOccurs="1" name="external-db" 
type="xsd:string" />
      <xsd:element minOccurs="1" maxOccurs="1" name="match" 
type="xsd:boolean" />
     </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="annotation">
     <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" name="id" 
type="xsd:integer" />
      <xsd:element minOccurs="0" maxOccurs="1" name="type" 
type="xsd:string" />
      <xsd:element minOccurs="1" maxOccurs="1" name="author" 
type="xsd:string" />
      <xsd:element minOccurs="0" maxOccurs="1" name="timestamp" 
type="xsd:string" />
     </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="mapping-annotation">
     <xsd:complexContent mixed="false">
      <xsd:extension base="tns1:annotation">
       <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="unbounded" 
name="external-object" type="tns1:external-object" />
        <xsd:element minOccurs="0" maxOccurs="1"         name="text" 
         type="xsd:string" />
        <xsd:element minOccurs="0" maxOccurs="1" 
name="reliability"     type="xsd:float" />
        <xsd:element minOccurs="0" maxOccurs="1"         name="ra-mean" 
         type="xsd:double" />
        <xsd:element minOccurs="0" maxOccurs="1"         name="dec-mean" 
        type="xsd:double" />
       </xsd:sequence>
      </xsd:extension>
     </xsd:complexContent>
    </xsd:complexType>
    <xsd:element name="insertMappingAnnotations">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element minOccurs="1" maxOccurs="unbounded" 
name="mapping-annotation" type="tns1:mapping-annotation" />
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="insertMappingAnnotationsResponse">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element minOccurs="1" maxOccurs="1" name="result" 
type="xsd:int" />
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <!-- executeGlobalMappingTableQuery -->
    <xsd:element name="executeGlobalMappingTableQuery">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element minOccurs="1" maxOccurs="1" name="query" 
type="xsd:string" />
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="executeGlobalMappingTableQueryResponse">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element minOccurs="1" maxOccurs="1" ref="tns2:VOTABLE" />
      </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:schema>
  </wsdl:types>

  <!-- insertMappingAnnotations -->
  <wsdl:message name="insertMappingAnnotationsMessage">
   <wsdl:part name="body" element="tns1:insertMappingAnnotations" />
  </wsdl:message>
  <wsdl:message name="insertMappingAnnotationsResponseMessage">
   <wsdl:part name="body" element="tns1:insertMappingAnnotationsResponse" />
  </wsdl:message>
  <!-- executeGlobalMappingTableQuery -->
  <wsdl:message name="executeGlobalMappingTableQueryMessage">
   <wsdl:part name="body" element="tns1:executeGlobalMappingTableQuery" />
  </wsdl:message>
  <wsdl:message name="executeGlobalMappingTableQueryResponseMessage">
   <wsdl:part name="body" 
element="tns1:executeGlobalMappingTableQueryResponse" />
  </wsdl:message>
	
  <wsdl:portType name="AstrodasPeer">
   <wsdl:operation name="insertMappingAnnotations">
    <wsdl:documentation>Stores an array of annotations in the annotation 
backend database</wsdl:documentation>
    <wsdl:input message="tns:insertMappingAnnotationsMessage" />
    <wsdl:output message="tns:insertMappingAnnotationsResponseMessage" />
   </wsdl:operation>
   <wsdl:operation name="executeGlobalMappingTableQuery">
    <wsdl:documentation>Executes a query on the global mapping table of 
the p2p network of annotation</wsdl:documentation>
    <wsdl:input message="tns:executeGlobalMappingTableQueryMessage" />
    <wsdl:output 
message="tns:executeGlobalMappingTableQueryResponseMessage" />
   </wsdl:operation>
  </wsdl:portType>

  <wsdl:binding name="AstrodasPeerBinding" type="tns:AstrodasPeer">
   <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" />
   <wsdl:operation name="insertMappingAnnotations">
    <soap:operation soapAction="insertMappingAnnotations" />
    <wsdl:input>
     <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
     <soap:body use="literal" />
    </wsdl:output>
   </wsdl:operation>
   <wsdl:operation name="executeGlobalMappingTableQuery">
    <soap:operation soapAction="executeGlobalMappingTableQuery" />
    <wsdl:input>
     <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
     <soap:body use="literal" />
    </wsdl:output>
   </wsdl:operation>
  </wsdl:binding>

  <wsdl:service name="astrodas-peer">
   <wsdl:port name="astrodas-peer" binding="tns:AstrodasPeerBinding">
    <soap:address 
location="http://localhost:8080/axis2/services/astrodas-peer" />
   </wsdl:port>
  </wsdl:service>

</wsdl:definitions>
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic