Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
HydraExpress Web Service Development Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

A.5 SOAP Encoding

HydraExpress handles the following features in SOAP encoding:

A.5.1 SOAP-Encoded Arrays

HydraExpress represents SOAP-Encoded arrays as classes derived from a rwsf::ArrayHandle instantiated on the type of element contained in the array. Array body rwsf::ArrayBody contains an instance of rwsf::SoapArray to which it passes all its methods.

Array support includes support for arrays of arrays, dimensioned arrays (including multidimensional), recursive arrays, and arrays of types defined in the WSDL document. HydraExpress does not currently support sparse arrays. For more information on recursive arrays, see Section A.5.3

The generated class provides methods for working with the vector as an XML document. The generated class inherits methods for working with the collection.

For the array shown in the WSDL fragment below:

HydraExpress generates a class named ArrayOfdouble that derives from rwsf::ArrayHandle<double>. Class ArrayOfdouble provides marshal methods for writing the array as XML and unmarshal methods for populating the array from XML. In addition, it reflects a typical container interface, providing iterators and other methods to access the array members.

A.5.2 SOAP-Encoded Built-in Types and References

HydraExpress maps SOAP-encoded built-in types to their equivalent xsd types. That is, SOAP-ENC:int maps to xsd:int and so on. HydraExpress clients and servers then produce messages using the xsd type, such as xsd:int.

A.5.3 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:

The complexType ArrayofStruct contains a type Struct:

In this scenario, a user-defined array Struct contains type ArrayofStruct, which itself contains a type Struct.



Previous fileTop of DocumentContentsIndex pageNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo are registered trademarks of Rogue Wave Software, and HydraExpress is a trademark of Rogue Wave Software. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.