Try OpenEdge Now
skip to main content
Web Services
Creating ABL Clients to Consume OpenEdge SOAP Web Services : Creating an ABL Client from WSDL : Using the WSDL Analyzer : Analyzing complex data
Analyzing complex data
Complex data consists of multiple data values treated as a group. A Web service can exchange complex data with a client using three different SOAP message data elements:
*A Web service operation parameter
*The entries of a SOAP header
*The detail of a SOAP fault
The techniques available for an ABL client to access this complex data depend on the structure and content of the data as determined by the WSDL Analyzer. If the WSDL is for an OpenEdge Web service that uses temp-table or ProDataSet parameters, the WSDL Analyzer indicates that you can access the complex data using an ABL temp-table or ProDataSet and how to define it in your code. If the WSDL Analyzer cannot identify a temp-table or ProDataSet to represent an instance of complex data, it provides an example of the serialized XML SOAP message element, so you can use ABL features to access the XML data as a Document Object Model (DOM) tree or to read and write the data using the Simple API for XML (SAX).
If the WSDL Analyzer identifies an appropriate temp-table or ProDataSet to represent the complex data, you can manage the data in your ABL program more easily than using the ABL DOM or SAX features. Access to such data relies entirely on ABL data types and requires no transformation to and from XML. You always have the option of using the DOM or SAX features to access the XML directly, but you are only required to do this when the WSDL Analyzer cannot identify a temp-table or ProDataSet definition to represent the complex data.
The following figure shows the Operation (internal procedure) detail section of a port type page for a procedure that is passing complex data parameters. The WSDL Analyzer has identified a static temp-table definition that can be used for a parameter. So, it specifies the TABLE parameter for the procedure signature.
Figure 15. WSDL Analyzer port type page (TABLE in signature)
* Web service operation parameter documentation
* SOAP header entry and SOAP fault detail documentation