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 operation parameters
 

Managing operation parameters

As described in Data type casting, the data types that you specify for parameters in the ABL invocations of Web service operations must conform to a set of OpenEdge-supported castings established for corresponding XML Schema data types. The OpenEdge WSDL Analyzer provides all of the information you need to build interfaces between your ABL application and the Web service by documenting all of the Web service operations and how they can be mapped to the ABL, including the suggested (or recommended) ABL data types to use for XML Schema simple data type parameters.
Depending on the results you want to achieve, you might use one of the alternative castings supported by OpenEdge between XML Schema simple data types and ABL data types. Consistent with compatible data types in the ABL, OpenEdge implicitly converts between any XML Schema data type and any ABL data type included in the supported casting. If OpenEdge cannot complete the specified conversion, it generates a run-time error.
You can also map all XML Schema simple data types to the ABL CHARACTER or LONGCHAR type, because the SOAP messages used to exchange parameter values are XML character data. For XML Schema simple data types where CHARACTER is not the suggested ABL data type, using a CHARACTER or LONGCHAR causes OpenEdge to assume that you are passing the XML Schema-formatted string (the actual string value for the SOAP message) as the value for the parameter. This allows you to perform your own transformation on the value within your ABL application and to manage the value as you see fit. In doing this, you must format the CHARACTER or LONGCHAR values properly for any INPUT parameters to conform with the XML Schema data type defined for the Web service parameter by the WSDL. The only processing that OpenEdge does when passing XML Schema-formatted values is to perform any code page conversion required on the character data (for example, between the CPINTERNAL code page setting and UTF-8) and to validate that the format of the data is acceptable for the XML Schema data type. OpenEdge does no range or value checking that might be specified in the WSDL file.
XML Schema complex types are data types that contain multiple XML Schema data elements, possibly including other complex types. You can map complex types to either an ABL TABLE or DATASET parameter. To manage complex types that cannot be mapped to either an ABL temp-table or ProDataSet, you must work with the serialized XML directly, typically using the XML parsers in the ABL. For more information, see Managing complex data.
In general, if the invocation of a Web service operation fails for any reason, OpenEdge sets all OUTPUT and function return values to the Unknown value (?).