Try OpenEdge Now
skip to main content
Web Services
Creating ABL Clients to Consume OpenEdge SOAP Web Services : Creating an ABL Client from WSDL : Mapping XML Schema data types to ABL data types : Simple data types : Suggested mappings
 
Suggested mappings
The WSDL Analyzer's generated documentation provides recommended mappings between Web service parameters and ABL parameters. These are the mappings that are most semantically useful. Wherever the WSDL file indicates that a parameter of any data type is nillable, this means that on the Web service side the parameter can have the null value and on the ABL side the parameter can pass the ABL Unknown value (?).
The following table lists all the simple XML Schema data types in alphabetical order, showing for each one the suggested ABL data type for mapping it.
Table 29. Suggested XML Schema mappings to ABL data types
XML Schema data type
ABL data type
Notes
anyURI
CHARACTER
–
base64Binary
RAW
You can use the ABL BASE64-ENCODE and BASE64-DECODE functions to convert between Base 64 clear text (CHARACTER or LONGCHAR) and binary data (RAW or MEMPTR).
boolean
LOGICAL
–
byte
INTEGER
On INPUT, if the ABL INTEGER value is outside the valid range of the XML Schema byte type, it is a run-time error.
date
DATE
On OUTPUT, any time zone information is lost. To retain it, use an ABL CHARACTER parameter.
dateTime
DATETIME-TZ
–
decimal
DECIMAL
The ABL DECIMAL type might not hold the entire XML Schema decimal value. However, the industry common practice is to map between XML Schema decimal and another decimal data type.
On OUTPUT, if the XML Schema decimal value overflows the ABL DECIMAL type, it is a run-time error.
double
CHARACTER
–
duration
CHARACTER
–
ENTITIES
CHARACTER
–
ENTITY
CHARACTER
–
float
CHARACTER
–
gDay
CHARACTER
–
gMonth
CHARACTER
–
gMonthDay
CHARACTER
–
gYear
CHARACTER
–
gYearMonth
CHARACTER
–
hexBinary
RAW
–
ID
CHARACTER
–
IDREF
CHARACTER
–
IDREFS
CHARACTER
–
int
INTEGER
–
integer
DECIMAL
The ABL DECIMAL type might not hold the entire XML Schema integer value, but it is a better choice than the ABL INTEGER type.
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema integer type, it is a run-time error.
On OUTPUT, if the value of the XML Schema integer value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
Language
CHARACTER
–
long
INT64
–
Name
CHARACTER
–
NCName
CHARACTER
–
negativeInteger
DECIMAL
The ABL DECIMAL type might not hold the entire XML Schema negativeInteger value, but it is a better choice than the ABL INTEGER type.
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema negativeInteger type, it is a run-time error.
On OUTPUT, if the value of the XML Schema negativeInteger value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
NMTOKEN
CHARACTER
–
NMTOKENS
CHARACTER
–
nonNegativeInteger
DECIMAL
The ABL DECIMAL type might not hold the entire XML Schema nonNegativeInteger value, but it is a better choice than the ABL INTEGER type.
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema nonNegativeInteger type, it is a run-time error.
On OUTPUT, if the value of the XML Schema nonNegativeInteger value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
nonPositiveInteger
DECIMAL
The ABL DECIMAL type may not hold the entire XML Schema nonPositiveInteger value, but it is a better choice than the ABL INTEGER type.
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema nonPositiveInteger type, it is a run-time error.
On OUTPUT, if the value of the XML Schema nonPositiveInteger value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
normalizedString
CHARACTER
–
NOTATION
CHARACTER
–
positiveInteger
DECIMAL
The ABL DECIMAL type may not hold the entire XML Schema positiveInteger value, but it is a better choice than the ABL INTEGER type.
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema positiveInteger type, it is a run-time error.
On OUTPUT, if the value of the XML Schema positiveInteger value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
qName
CHARACTER
–
short
INTEGER
On INPUT, if the ABL INTEGER value is outside the valid range of the XML Schema short type, it is a run-time error.
string
CHARACTER
–
time
INTEGER
On INPUT, the value is converted with no time zone information.
token
CHARACTER
–
unsignedByte
INTEGER
On INPUT, if the ABL INTEGER value is outside the valid range of the XML Schema unsignedByte type, it is a run-time error.
unsignedInt
DECIMAL
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema unsignedInt type, it is a run-time error.
On OUTPUT, if the value of the XML Schema unsignedInt value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
unsignedLong
DECIMAL
On INPUT, if the ABL DECIMAL value is outside the valid range of the XML Schema unsignedLong type, it is a run-time error.
On OUTPUT, if the value of the XML Schema unsignedLong value is outside the valid range of the ABL DECIMAL type, it is a run-time error.
unsignedShort
INTEGER
On INPUT, if the ABL INTEGER value is outside the valid range of the XML Schema unsignedShort type, it is a run-time error.
Note: OpenEdge supports a set of alternative ABL data types (in addition to a suggested data type) to represent the value for an XML Schema data type in ABL. These alternative data types essentially force the Web service invocation to cast the value between the specified native ABL representation and the corresponding XML Schema data type. The result of this casting might not preserve as much accuracy as the suggested mapping. For more information, see Data Type Conversion Rules for ABL Calls to OpenEdge SOAP Web Services.