Try OpenEdge Now
skip to main content
Web Services
Creating ABL Clients to Consume OpenEdge SOAP Web Services : Invoking OpenEdge SOAP Web Service Operations from ABL : Invoking operations

Invoking operations

After you have created a Web service procedure object, you can invoke the operations made available through that object. OpenEdge identifies Web service operations in the ABL by the same names and signatures used to define them in the WSDL file for the Web service, which you specify when you bind the Web service using the CONNECT( ) method (see Connecting to OpenEdge SOAP Web Services from ABL).
The WSDL Analyzer determines if you can invoke the operation using only an ABL RUN statement, or if you can also invoke it with a user-defined function call:
If the Analyzer determines that the operation does not return a value, it defines the operation as an internal procedure that you must call using the RUN statement.
If the Analyzer determines that the operation returns a value, it defines the operation in both of the following ways:
1. As a user-defined function that you forward reference and invoke as a function
2. As an internal procedure that you can call using the RUN statement
Note: You cannot invoke native ABL procedures or user-defined functions interchangeably as one or the other. This feature only applies to Web service operations, and only those Web service operations as specified by the WSDL Analyzer.
The WSDL includes information that indicates if you can model a Web service as a user-defined function. If the WSDL does not indicate that or if there is a restriction in ABL that stops the operation from being called as a user-defined function, the WSDL Analyzer does not create a sample user-defined function. Any attempt to invoke a Web service operation using a method not specified by the WSDL Analyzer returns an error.
The following figure shows a sample operation listing from the WSDL Analyzer's Port type page that can be used as either an internal procedure or as a user-defined function.
Figure 16. WSDL Analyzer sample operation call
* Using the RUN statement
* Using a user-defined function