The mapping of an ABL procedure (or, similarly, a user-defined function) to its final representation as a pair of SOAP request/response messages follows a well-defined series of steps:
1. ProxyGen generates a Web service definition that includes the selected ABL procedure in the context of some Open Client object during Web service development (see OpenEdge Development: Open Client Introduction and Programming).
2. The WSA generates the WSDL file for the Web service during Web service deployment (see OpenEdge Application Server: Administration). This WSDL file includes elements that define a Web service operation that maps to the selected ABL procedure.
3. A developer uses a client toolkit to generate the source code for the client interface from the WSDL file. The client toolkit reads the WSDL file and writes out the source code for the client interface as a series of objects and methods, each of which represents a Web service operation.
Note: In OpenEdge, the WSDL Analyzer generates documentation on how to represent Web service operations in ABL. For more information, see Using the WSDL Analyzer.
4. The developer writes a client application using the client interface generated in Step 3. The application invokes the method mapped to the Web service operation defined in Step 2, which sends a SOAP request message to the WSA where the Web service is deployed.
5. The WSA receives the SOAP request and packages the input parameters in an AppServer message which results in executing the corresponding an ABL procedure on an AppServer.
6. The ABL procedure then returns any output parameters and any return value to the WSA.
7. The WSA packages these procedure results in a SOAP response message, which it returns to the client that originally sent the request.
The examples that follow show how these three transformations proceed.
Note: Some of these examples are available as samples on the Documentation and Samples (doc_samples) directory of the OpenEdge product DVD or Progress Documentation Web site. For more information on accessing them, see Sample SOAP Web service applications.