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 1. 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 SOAP Web Services.