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 : Managing complex data : Coding options for wrapped document literal : Using the unwrapped form
 
Using the unwrapped form
Using the unwrapped form for the same Wrapped Doc/Lit operation, foo, you can access all the parameter values individually using ABL data types. In this case, the WSDL Analyzer recognizes that there is a single INTEGER mapping for a value in both complex input and output parameters of the wrapped operation. So, it prescribes a single INPUT-OUTPUT parameter for that INTEGER mapping (iInteger). It prescribes individual INPUT and OUTPUT modes for the remaining values, as indicated in this example:

Wrapped Doc/Lit operation—unwrapped form

DEFINE VARIABLE bBoolean AS LOGICAL NO-UNDO.
DEFINE VARIABLE iInteger AS INTEGER NO-UNDO.
DEFINE VARIABLE cString AS CHARACTER NO-UNDO.

bBoolean = true.
iInteger = 17.

RUN foo IN hWebService (INPUT bBoolean, INPUT-OUTPUT iInteger,
                        OUTPUT cString).
DISPLAY "Returned from web service call:" SKIP
  "  iInteger = " iInteger NO-LABEL SKIP
  "  cString  = " cString NO-LABEL FORMAT "x(12)".
On return, you might display the individual OUTPUT values (iInteger and cString) as follows:
Returned from web service call:
  iInteger = 18
  cString  = Hello world!
No further work is required to access these values in ABL.