Recursive Arrays
HydraExpress supports recursive SOAP-encoded arrays, meaning that it can parse nested arrays containing elements of the same user-defined type as the parent element.
The following schema snippet illustrates how this might look. The user-defined type Struct contains an element of type ArrayofStruct:
 
<complexType name="Struct">
<xsd:all>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="array" type="xsd1:ArrayOfStruct"/>
</xsd:all>
</xsd:complexType>
The complexType ArrayofStruct contains a type Struct:
 
<complexType name="ArrayOfStruct">
<complexContent>
<restriction base="SOAP-ENC:Array">
<attribute ref="SOAP-ENC:arrayType"
wsdl:arrayType="xsd1:Struct[]"/>
</restriction>
</complexContent>
</complexType>
In this scenario, a user-defined array Struct contains type ArrayofStruct, which itself contains a type Struct.