How to use operation handlers
- Last Updated: June 11, 2026
- 3 minute read
- OpenEdge
- Version 13.0
- Documentation
void
The void
operation handler returns only the status code that is defined for the HTTP verb. This
is useful in certain situations. For example, when you want to reserve an endpoint for
future enhancements (via a 501 - Not Implemented status
code) or when you want to use it to confirm that the server is alive (204 - No Content). Use the void handler as shown in this example:
|
file
The file
operation handler returns the contents of a file, as long as the contents of the file
conform to a supported MIME type. file operation handler to
work, the file must be placed within the web app directory, but not in the
WEB-INF folder for security reasons. The static folder is the recommended location for
it.| Directory | Environment variable |
|---|---|
| PAS for OpenEdge instance root | ${env.CATALINA_BASE} |
| Web app directory (located in webapps in the PAS for OpenEdge instance root directory) | ${web.webapp} |
For example:
|
entity
entity operation handler to map an HTTP
verb with an ABL procedure or an ABL class method. At runtime, when the verb is used
in an HTTP request to the service endpoint, the associated ABL procedure or class
method gets executed. entity, its use is not limited to ABL
Business Entities. You can use it to reference any ABL class or
procedure.Here is a simple example of the entity handler:
|
The name property identifies the ABL
class (Customer.Greeting) that is to be referenced;
the function property denotes the method (getPersonalizedGreeting) in the class that needs to be
invoked. The ioMode property identifies the
parameter type (INPUT, OUTPUT, etc).
The arg property (short for
arguments) is an array of JSON objects. Each object maps to an input or output
parameter that is required by the getPersonalizedGreeting method. The first three properties in each
arg object (ablName, ablType, and ioMode) identify the ABL parameter and correspond to
how the parameters are defined in the ABL method:
|
arg
object—msgElem—defines how the parameter maps
to a message element in the HTTP request or response. Parameters of the type
INPUT retrieve their values from message elements in HTTP
requests. Parameters of the type OUTPUT pass on their values
(returned by the ABL method or procedure) to message elements in HTTP responses. The
msgElem object therefore consists of two
properties:- The
typeof message element in an HTTP request or response. Examples includequery,header, etc. - The
nameof the message element in an HTTP request or response. Examples includecustomer-id(for aquery),From,Host(for aheader), etc.
At runtime, the DOH uses these property mappings to convert HTTP requests and
responses into ABL objects. In some cases, such as for parameters that are of the
type INPUT-OUTPUT, you may need to map HTTP requests as well as
HTTP responses to the same parameter. In this case, you can use msgElem as an array as shown here:
|
These examples illustrate a couple of different ways in which you can use the entity operation handler. The complete list of entity handler properties and the types of values that you can set for each property is described in Entity handler properties.