2.3 Tuxedo-to-XML Data Type Mapping for Oracle Tuxedo Services
SALT provides a set of rules for describing Oracle Tuxedo typed buffers in an XML document as shown in the table below: These rules are exported as XML Schema definitions in SALT WSDL documents. This simplifies buffer conversion and does not require previous Oracle Tuxedo buffer type knowledge.
Table 2-2 Oracle Tuxedo Buffer Mapping to XML Schema
Oracle Tuxedo Buffer Type | Description | XML Schema Mapping for SOAP Message |
---|---|---|
STRING
|
Oracle Tuxedo STRING typed buffers are used to store character strings that terminate with a NULL character. Oracle Tuxedo STRING typed buffers are self-describing.
|
xsd:string
In the SOAP message, the XML element that encapsulates the actual string data, must be defined using Note: TheSTRING data type can be specified with a max data length in the Oracle Tuxedo Service Metadata Repository. If defined in Oracle Tuxedo, the corresponding SOAP message also enforces this maximum. The GWWS server validates the actual message byte length against the definition in Oracle Tuxedo Service Metadata Repository. A SOAP fault message is returned if the message byte length exceeds supported maximums.
If GWWS server receives a SOAP message other than “ |
CARRAY (Mapping with SOAP Message plus Attachments) |
Oracle Tuxedo CARRAY typed buffers store character arrays, any of which can be NULL . CARRAY buffers are used to handle data opaquely and are not self-describing.
|
The CARRAY buffer raw data is carried within a MIME multipart/related message, which is defined in the “SOAP Messages with Attachments’ specification.
The two data formats supported for MIME Content-Type attachments are:
Note: The SOAP with Attachment rule is only interoperable with Oracle WebLogic Server and Apache Axis
|
CARRAY (Mapping with base64Binary) |
Oracle Tuxedo CARRAY typed buffers store character arrays, any of which can be NULL . CARRAY buffers are used to handle data opaquely and are not self-describing.
|
xsd:base64Binary
The In the SOAP message, the XML element that encapsulates the actual
CARRAY data, must be defined with xsd:base64Binary directly.
Note: CARRAY data types can be specified with a max byte length. If defined in Oracle Tuxedo, the corresponding SOAP message is enforced with this limitation. The GWWS server validates the actual message byte length against the definition in the Oracle Tuxedo Service Metadata Repository.
|
MBSTRING
|
Oracle Tuxedo MBSTRING typed buffers are used for multibyte character arrays. Oracle Tuxedo MBSTRING buffers consist of the following three elements:
|
xsd:string
The XML Schema built-in type, The GWWS server only accepts “ Note: The GWWS server transparently passes the “UTF-8 ” character set string to the Oracle Tuxedo service using MBSTRING Typed buffer format.The actual Oracle Tuxedo services handles the UTF-8 string.
For any Oracle Tuxedo response |
MBSTRING (cont.) |
- | Limitation:
Oracle Tuxedo |
XML
|
Oracle Tuxedo XML typed buffers store XML documents. | xsd:anyType
The XML Schema built-in type, Limitation: The GWWS server validates that the actual XML data is well-formed. It will not do any other enforcement validation, such as Schema validation. Only a single root XML buffer is allowed to be stored in the SOAP body; the GWWS server checks for this. The actual XML data must be encoded using the “ XML data type can specify a max byte data length. If defined in Oracle Tuxedo, the corresponding SOAP message must also enforce this limitation.
Note: The SALT WSDL generator will not havexsd:maxLength restrictions in the generated WSDL document, but the GWWS server will validate the byte length according to the Oracle Tuxedo Service Metadata Repository definition.
|
VIEW/VIEW32
|
Oracle Tuxedo VIEW and VIEW32 typed buffers store C structures defined by Oracle Tuxedo applications.
|
Each The the field types and the corresponding XML Schema type are listed as follows:
|
VIEW/VIEW32 (cont.) |
- |
For more information, see VIEW/VIEW32 Considerations. |
FML/FML32
|
Oracle Tuxedo FML and FML32 type buffers are proprietary Oracle Oracle Tuxedo system self-describing buffers. Each data field carries its own identifier, an occurrence number, and possibly a length indicator.
|
FML/FML32 buffers can only have basic data-dictionary-like definitions for each basic field data. A particular FML/FML32 buffer definition should be applied for each FML/FML32 buffer with a different type name.
Each The e field types and the corresponding XML Schema type are listed below:
|
FML/FML32
(cont.) |
- |
To avoid multiple embedded Note: ptr is not supported.
For limitations and considerations regarding mapping |
RECORD
|
RECORD buffer type represents copybook record. RECORD types must have subtypes that designate individual record structures.
Generated COBOL types:
|
Each RECORD data type is defined as an XML Schema complex type. Each RECORD field should be one or more sub-elements of the XML Schema complex type.
The COBOL types and the corresponding XML Schema type are listed as follows:
|
X_C_TYPE
|
X_C_TYPE buffer types are equivalent to VIEW buffer types.
|
See VIEW/VIEW32
|
X_COMMON
|
X_COMMON buffer types are equivalent to VIEW buffer types, but are used for compatibility between COBOL and C programs. Field types should be limited to short , long , and string
|
See VIEW/VIEW32
|
X_OCTET
|
X_OCTET buffer types are equivalent to CARRAY buffer types
|
See CARRAY
|
- Oracle Tuxedo STRING Typed Buffers
- Oracle Tuxedo CARRAY Typed Buffers
- Oracle Tuxedo MBSTRING Typed Buffers
- Oracle Tuxedo XML Typed Buffers
- Oracle Tuxedo VIEW/VIEW32 Typed Buffers
- Oracle Tuxedo FML/FML32 Typed Buffers
- Oracle Tuxedo RECORD Typed Buffers
- Oracle Tuxedo X_C_TYPE Typed Buffers
- Oracle Tuxedo X_COMMON Typed Buffers
- Oracle Tuxedo X_OCTET Typed Buffers
- Custom Typed Buffers
Parent topic: Data Type Mapping and Message Conversion