Data mapping limitations when using the CICS assistants
CICS® supports bidirectional data mappings between high-level language structures and XML schemas or WSDL documents that conform to WSDL version 1.1 or 2.0, with certain limitations. These limitations apply only to the DFHWS2LS and DFHSC2LS tools and vary according to the mapping level.
Limitations at all mapping levels
- Only SOAP bindings that use literal encoding are supported. Therefore,
you must set the
use
attribute to a value ofliteral
;use="encoded"
is not supported. - Data type definitions must be encoded using the XML Schema Definition language (XSD). In the schema, data types used in the SOAP message must be explicitly declared.
- The length of some keywords in the Web services description is limited. For example, operation, binding, and part names are limited to 255 characters. In some cases, the maximum operation name length might be slightly shorter.
- Any SOAP faults defined in the Web service description are ignored. If you want a service provider application to send a SOAP fault message, use the EXEC CICS SOAPFAULT command.
- DFHWS2LS and DFHSC2LS support only a single <xsd:any> element
in a particular scope. For example, the following schema fragment
is not supported:
Here,<xsd:sequence> <xsd:any/> <xsd:any/> </xsd:sequence>
<xsd:any>
can specifyminOccurs
andmaxOccurs
if required. For example, the following schema fragment is supported:<xsd:sequence> <xsd:any minOccurs="2" maxOccurs="2"/> </xsd:sequence>
- Cyclic references are not supported. For example, where type A contains type B which, in turn, contains type A.
- Recurrence is not supported in group elements, such as <xsd:choice>, <xsd:sequence>, <xsd:group>,
or <xsd:all> elements. For example, the following schema fragment
is not supported:
The exception is at mapping level 2.1 and higher, where<xsd:choice maxOccurs="2"> <xsd:element name="name1" type="string"/> </xsd:choice>
maxOccurs="1"
andminOccurs="0"
are supported on these elements. - DFHSC2LS and DFHWS2LS do not support data types and elements in
the SOAP message that are derived from the declared data types and
elements in the XML schema either from the
xsi:type
attribute or from a substitution group, except at mapping level 2.2 and higher if the parent element or type is defined as abstract. - Embedded <xsd:sequence> and <xsd:group> elements inside an <xsd:choice> element are not supported prior to mapping level 2.2. Embedded <xsd:choice> and <xsd:all> elements inside an <xsd:choice> element are never supported.
Improved support at mapping level 1.1 and higher
- The <xsd:list> element.
- The <xsd:union> element.
- The
xsd:anySimpleType
type. - The <xsd:attribute> element. At mapping level 1.0 this element is ignored.
Improved support at mapping level 2.1 and higher
- The <xsd:any> element.
- The
xsd:anyType
type. - Abstract elements. In earlier mapping levels, abstract elements are supported only as nonterminal types in an inheritance hierarchy.
- The
maxOccurs
andminOccurs
attributes on the <xsd:all>, <xsd:choice>, and <xsd:sequence> elements, only whenmaxOccurs="1"
andminOccurs="0"
. - "FILLER" fields in COBOL and "*" fields in PL/I are suppressed. The fields do not appear in the generated WSDL and an appropriate gap is left in the data structures at run time.
Improved support at mapping level 2.2 and higher
When the mapping level is 2.2 or higher, DFHSC2LS and DFHWS2LS provide improved support for the <xsd:choice> element, supporting a maximum of 255 options in the <xsd:choice> element. For more information on <xsd:choice> support, see Support for <xsd:choice>.
- Substitution groups
- Fixed values for elements
- Abstract data types
<xsd:choice>
<xsd:element name="name1" type="string"/>
<xsd:sequence/>
</xsd:choice>
If the parent element or type in the SOAP message is defined as abstract, DFHSC2LS and DFHWS2LS support data types and elements that are derived from the declared data types and elements in the XML schema.
Improved support at mapping level 3.0 and higher
- DFHSC2LS and DFHWS2LS map
xsd:dateTime
data types to CICS ASKTIME format. - DFHLS2WS can generate a WSDL document and web service binding from an application that uses many containers rather than just one container.
- Tolerating truncated data that is described by a fixed-length data structure. You can set this behavior by using the DATA-TRUNCATION parameter on the CICS assistants.
Improved support at mapping level 4.0 and higher
When the mapping level is 4.0 or higher, the CICS assistants support the following mapping improvements:
- You must specify the parameter DATA-TRUNCATION=ENABLED.
- Complex OCCURS DEPENDING ON is not supported. This limitation means that OCCURS DEPENDING ON is only supported for the last field of a structure.
- CICS does not support qualified
names (using the 'OF' keyword) as the target of an OCCURS DEPENDING
ON clause, for example
FIELD1 OF STRUCTURE1
. - CICS does not support the UNBOUNDED keyword. You must specify the maximum size of the table that is expected by the application.
- When you use DFHLS2WS or DFHLS2SC, you can enable this behavior by using language-specific data types for UTF-16.
- When you use DFHWS2LS or DFHSC2LS, you can enable this behavior by setting CCSID=1200.
- CICS supports only a single
Unicode code page,
UTF-16BE with IBM® Private Use Area
(CCSID 1200). - Conversion of application data that is encoded using UTF-8 is not supported.