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.