Develop an ABL service using the SOAP transport
- Last Updated: February 11, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
Progress OpenEdge enables you to turn your ABL applications into SOAP web services that are accessed through the SOAP transport in Progress Application Server for OpenEdge (PAS for OpenEdge).
What is SOAP?
SOAP is an acronym for Simple Object Access Protocol. SOAP enables applications built on different platforms or in different programming languages to exchange messages in a standard way, primarily over HTTP.The SOAP specification, which describes the protocol, is based on XML. It defines the structure of SOAP messages and the rules for processing a SOAP message.
A typical SOAP transaction involves the following
components:
- A SOAP client application that initiates the transaction by sending a SOAP request message.
- A SOAP web service that processes the SOAP request and returns a SOAP response message. If an error occurs while processing the request, the web service returns a SOAP fault message.
- A Web Services Description Language (WSDL) document that describes the operations that are available on the SOAP web service and the request and response message schemas for each operation. SOAP client applications use the WSDL to determine which operations to invoke, generate request messages using the message schema in the WSDL, etc.
To learn more about SOAP, see the following resources:
- SOAP specification: https://www.w3.org/TR/2000/NOTE-SOAP-20000508/
- SOAP tutorials:
Architecture of a SOAP web service in PAS for OpenEdge
In PAS for OpenEdge, the SOAP transport handles communication between SOAP clients and the ABL business logic. It transforms SOAP request messages into ABL objects and ABL objects into SOAP response messages.The core ABL business logic is exposed through a service interface consisting of ABL procedures. The SOAP transport is contained in an ABL web application, which in turn is part of an ABL application, as shown in the following figure:

How to develop a SOAP web service in OpenEdge
To develop a SOAP web service in OpenEdge, perform the following steps:- Create a service interface. A service interface comprises one or more ABL procedure files that provide a layer of abstraction on top of the ABL business logic that you want to expose to client applications.
- Generate and deploy a web service mapping file. A web
service mapping file maps the compiled service interface code to SOAP transport
objects. PAS for OpenEdge uses the web service mapping file to automatically
generate a WSDL document. Note: This step is typically performed by a DevOps engineer or a system administrator. However, you might want to perform this step on a development instance of PAS for OpenEdge so you can test the web service.
- Test the web service. Once the ABL SOAP web service is running on a PAS for OpenEdge web application, you can test it using an external application such as SOAP UI or by writing an ABL SOAP client program.