TABLE-HANDLE parameters pass both the schema and data, because the dynamic temp-table schema is not known at compile time. In the WSDL, OpenEdge Web services map an ABL TABLE-HANDLE to a <complexType> containing a sequence of xsd:any.
For all SOAP formats, client interfaces typically represent TABLE-HANDLE parameters as follows:
For every TABLE-HANDLE parameter within a Web service object, there is a single object representing all TABLE-HANDLEs.
In both request messages and response messages, the schema of the TABLE-HANDLE must accompany the data.
For every input TABLE-HANDLE, you must include the schema of the TABLE-HANDLE in the form of an XML Schema followed by the data in the form of an XML document fragment.
For every output TABLE-HANDLE, a non-ABL client must parse the XML Schema and data in the SOAP response message.
The WSDL Analyzer recognizes the WSDL definition of a TABLE-HANDLE parameter and maps it to a TABLE-HANDLE parameter for an ABL client.
The following WSDL sample shows this common TABLE-HANDLE parameter definition:
TABLE-HANDLE definition for all dynamic temp-table parameters
The non-ABL client application must create (for input) and parse (for output) the XML Schema along with the data for the parameter. How the client inserts the input schema and data in request messages and how it parses the output schema and data from response messages is entirely dependent on the client toolkit.
This is the general format in OpenEdge Web services for representing a TABLE-HANDLE in a SOAP message, where the schema is defined in a <schema> element and each row is encapsulated by an <Item> element within a <Data> element: