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 of literal; 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:
    <xsd:sequence>
    	<xsd:any/>
    	<xsd:any/>
    </xsd:sequence>
    Here, <xsd:any> can specify minOccurs and maxOccurs 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:
    <xsd:choice maxOccurs="2">
       <xsd:element name="name1" type="string"/>
    </xsd:choice>
    The exception is at mapping level 2.1 and higher, where maxOccurs="1" and minOccurs="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

When the mapping level is 1.1 or higher, DFHWS2LS provides support for the following XML elements and element type:
  • 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

When the mapping level is 2.1 or higher, DFHWS2LS supports the following XML elements and element attributes:
  • 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 and minOccurs attributes on the <xsd:all>, <xsd:choice>, and <xsd:sequence> elements, only when maxOccurs="1" and minOccurs="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>.

At mapping level 2.2 and higher, the CICS assistants support the following XML mappings:
  • Substitution groups
  • Fixed values for elements
  • Abstract data types
Embedded <xsd:sequence> and <xsd:group> elements inside an <xsd:choice> element are supported at mapping level 2.2 and higher. For example, the following schema fragment is supported:
<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

When the mapping level is 3.0 or higher, the CICS assistants support the following mapping improvements:
  • 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.
Start of change

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:

At mapping level 4.0 and higher, DFHLS2SC and DFHLS2WS support the COBOL OCCURS DEPENDING ON clause and supports mapping of COBOL character arrays into XML strings. You can set this behavior by using the CHAR-OCCURS parameter on the CICS assistants.
  • 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.
At mapping level 4.0 and higher, CICS web services support the conversion of application data that is encoded using UTF-16 Unicode.
  • 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.
Note: DFHLS2WS and DFHLS2SC do not the support the COBOL GROUP USAGE NATIONAL clause.
End of change