An ABL client requires the target SOAP Web service's WSDL file, both at design time and at run time. OpenEdge provides a utility, the WSDL Analyzer, that reads the WSDL file and generates documentation and sample code for invoking and managing the Web service's operations in ABL. OpenEdge uses the WSDL file at run time to interpret ABL calls to Web service operations and to manage the exchange of data between the ABL client and the Web service.
ABL views a Web service much like an application service accessed through an AppServer. In addition to the ABL elements used in any AppServer-enabled application, ABL includes some elements specifically designed to manage calls to Web services. In general, all ABL network deployment models support inherent access to Web services.
The following figure shows the basic industry standard Web services architecture and how an ABL client application communicates with a Web service.
Figure 3. ABL clients consuming SOAP Web services
The darker gray components are the additional pieces that the ABL client uses for consuming Web services. OpenEdge has a built-in SOAP processor to convert ABL-like procedure invocations into SOAP messages. OpenEdge supports both nonsecure HTTP and SSL using its HTTP/S processor to manage the transport of these SOAP messages across the wire.
Using this interface, you can use ABL code to interact with a Web service in a similar manner to how you interact with an AppServer-enabled application. A typical set of tasks to create an ABL client for a Web service includes: