Try OpenEdge Now
skip to main content
Web Services
Introduction : Overview of SOAP Web services in OpenEdge : Creating ABL clients to consume SOAP Web services : Build your client : Comparing access to AppServers and Web services
 
Comparing access to AppServers and Web services
The following table lists and compares ABL elements used for session-free AppServer access and Web service access, listed in rough order of use.
Table 3. AppServer and Web service access compared
Session-free AppServer clients use the . . .
Web service clients use the . . .
Server object handle to access the AppServer application service.
Server object handle to access the Web service.
CONNECT( ) method on the server handle to logically connect (bind) the server object to the application service.
CONNECT( ) method on the server handle to logically connect (bind) the server object to the Web service.
RUN statement to instantiate a remote persistent procedure on an AppServer and map it to a proxy persistent procedure handle.
RUN statement to access a port type in the Web service and map it to a Web service proxy procedure handle.
Note: While the syntax to access a port type is similar to the instantiation of a persistent procedure, it does not instantiate anything persistently.
RUN statement and the proxy persistent procedure handle to execute an internal procedure of the remote persistent procedure.
RUN statement and the Web service proxy procedure handle (Web service procedure object) to invoke an operation of the port type as a remote internal procedure.
Note: All Web service operations can be invoked as remote internal procedures, allowing them to be invoked asynchronously. However, some Web service operations can also be invoked as remote user-defined functions. The documentation generated by the WSDL Analyzer includes this information.
FUNCTION prototype statement with the proxy procedure handle and function invocation to return the value of a remote user-defined function.
FUNCTION prototype statement with the Web service proxy procedure handle, and function invocation to return the value of a Web service operation that the WSDL Analyzer indicates can be invoked as a function.
NO-ERROR option and the ERROR-STATUS system handle to trap ABL statement errors.
Alternatively, use a CATCH block to trap any error of a type occurring in a block. ABL system errors are represented by a class-based error object derived from Progress.Lang.SysError.
If a statement uses the NO-ERROR option in a block with CATCH blocks, the NO-ERROR option takes precedence and the error will not be handled by a compatible CATCH block.
NO-ERROR option and the ERROR-STATUS system handle to trap ABL statement errors and Web service SOAP faults.
Alternatively, use a CATCH block to trap any error of a type occurring in a block. ABL SOAP errors are represented by a class-based error object derived from Progress.Lang.SoapFaultError, which is a subclass of Progress.Lang.SysError.
If a statement uses the NO-ERROR option in a block with CATCH blocks, the NO-ERROR option takes precedence and the error will not be handled by a compatible CATCH block.
Asynchronous request object handle to manage asynchronous execution of remote ABL procedures.
Asynchronous request object handle to manage asynchronous invocation of Web service operations.
DISCONNECT( ) method on the server handle to logically disconnect (unbind) the server object from the application service.
DISCONNECT( ) method on the server handle to logically disconnect (unbind) the server object from the Web service.
DELETE object statement to delete object handles that are no longer needed.
DELETE object statement to delete object handles that are no longer needed.