Interacting with XML Schema data formats
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
You might need to work directly with an XML Schema value whose format is not represented
among the supported formats for the suggested ABL data type mapping; for example, a
51-digit decimal value. To handle this requirement, you can pass an XML Schema-formatted
string version of the value into or out of the Web service invocation. OpenEdge
automatically passes the XML Schema-formatted value when you map either a
CHARACTER or LONGCHAR data type to any XML Schema
data type that has a suggested mapping (see Table 1) other than CHARACTER or
LONGCHAR.
When you pass the XML Schema-formatted value as an INPUT parameter, the
Web service invocation incorporates it directly into the generated SOAP message. For an
OUTPUT parameter, the invocation copies the XML Schema-formatted
value directly from the SOAP message into the CHARACTER or
LONGCHAR parameter.
When you pass an XML Schema-formatted value to a Web service, the invocation also
validates the format of the value to ensure that it conforms to XML Schema formatting
rules for the data type. Note that the invocation does not validate any facets declared
in the <schema> element to constrain the value. It ensures that
the format of the value you provide is valid according to its base XML Schema data type
representation, but not, for example, if the value falls within a given range.
For example, if you pass an ABL CHARACTER as an INPUT
parameter for an XML Schema int, the invocation checks to ensure that
it contains a properly formatted 32-bit integer value. If you pass an ABL
CHARACTER as an OUTPUT parameter for an XML Schema
int, the invocation copies the Schema-formatted value directly from
the SOAP message into the ABL CHARACTER parameter.