Welcome to the "trac"-ing site of soap4r!
[soap4r] [httpclient] [openpgp4u] [pkcs1] [logger] [csv] [vtr]

Ticket #459 (new defect)

Opened 8 months ago

<extension> + <sequence>

Reported by: user Assigned to: nahi
Priority: normal Milestone: undefined
Component: wsdl4r Version: 1.5
Keywords: Cc:

Description

Given the WSDL chunk:

   <complexType name="SearchBean">
    <sequence>
     <element name="clientId" type="xsd:int"/>
     <element name="entityType" nillable="true" type="xsd:string"/>
     <element name="length" type="xsd:int"/>
     <element name="name" nillable="true" type="xsd:string"/>
     <element name="offset" type="xsd:int"/>
     <element name="searchArchived" type="xsd:int"/>
     <element name="searchInChildEntities" type="xsd:boolean"/>
     <element name="searchScope" type="xsd:int"/>
     <element name="serviceAreaId" type="xsd:int"/>
     <element name="statementNames" nillable="true" type="impl:ArrayOf_xsd_string"/>
     <element name="statementValues" nillable="true" type="impl:ArrayOf_xsd_string"/>
     <element name="zoneId" type="xsd:int"/>
    </sequence>
   </complexType>
   <complexType name="SearchBannersBean">
    <complexContent>
     <extension base="impl:SearchBean">
      <sequence>
       <element name="modifiedAfter" nillable="true" type="xsd:string"/>
       <element name="modifiedBefore" nillable="true" type="xsd:string"/>
       <element name="status" type="xsd:int"/>
      </sequence>
     </extension>
    </complexContent>
   </complexType>

The following classes are created in default.rb:

# {http://thruport.com/aje/public}SearchBean
class SearchBean
  @@schema_type = "SearchBean"
  @@schema_ns = "http://thruport.com/aje/public"
  @@schema_element = [["clientId", ["SOAP::SOAPInt", XSD::QName.new(nil, "clientId")]], ["entityType", ["SOAP::SOAPString", XSD::QName.new(nil, "entityType")]], ["length", ["SOAP::SOAPInt", XSD::QName.new(nil, "length")]], ["name", ["SOAP::SOAPString", XSD::QName.new(nil, "name")]], ["offset", ["SOAP::SOAPInt", XSD::QName.new(nil, "offset")]], ["searchArchived", ["SOAP::SOAPInt", XSD::QName.new(nil, "searchArchived")]], ["searchInChildEntities", ["SOAP::SOAPBoolean", XSD::QName.new(nil, "searchInChildEntities")]], ["searchScope", ["SOAP::SOAPInt", XSD::QName.new(nil, "searchScope")]], ["serviceAreaId", ["SOAP::SOAPInt", XSD::QName.new(nil, "serviceAreaId")]], ["statementNames", ["ArrayOf_xsd_string", XSD::QName.new(nil, "statementNames")]], ["statementValues", ["ArrayOf_xsd_string", XSD::QName.new(nil, "statementValues")]], ["zoneId", ["SOAP::SOAPInt", XSD::QName.new(nil, "zoneId")]]]

  attr_accessor :clientId
  attr_accessor :entityType
  attr_accessor :length
  attr_accessor :name
  attr_accessor :offset
  attr_accessor :searchArchived
  attr_accessor :searchInChildEntities
  attr_accessor :searchScope
  attr_accessor :serviceAreaId
  attr_accessor :statementNames
  attr_accessor :statementValues
  attr_accessor :zoneId

  def initialize(clientId = nil, entityType = nil, length = nil, name = nil, offset = nil, searchArchived = nil, searchInChildEntities = nil, searchScope = nil, serviceAreaId = nil, statementNames = nil, statementValues = nil, zoneId = nil)
    @clientId = clientId
    @entityType = entityType
    @length = length
    @name = name
    @offset = offset
    @searchArchived = searchArchived
    @searchInChildEntities = searchInChildEntities
    @searchScope = searchScope
    @serviceAreaId = serviceAreaId
    @statementNames = statementNames
    @statementValues = statementValues
    @zoneId = zoneId
  end
end

# {http://thruport.com/aje/public}SearchBannersBean
class SearchBannersBean
  @@schema_type = "SearchBannersBean"
  @@schema_ns = "http://thruport.com/aje/public"
  @@schema_element = []

  def initialize
  end
end

I assume that there is a bug in the handling of nested sequences under an extension because SearchBannersBean? is attributeless.