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.