XML constructs not supported

Using XML constructs not supported in IBM® Process Designer or in Advanced Integration services can lead to errors and warnings.

Process Designer and the interface of an Advanced Integration service and all data definitions and interfaces in mirrored libraries in Integration Designer support only a subset of the XML schema constructs. A list of XML schema constructs that have limitations or are not supported are provided in the tables later in this document.

Currently, validation errors and warnings are only issued in the following situations:
  • a data definition or interface is used as an interface of an Advanced Integration service
  • a data definition or interface is used by WSDL or XSD in a web service integration
However, the following limitations and restrictions apply to all data definitions and interfaces in a mirrored library. However, validation does not occur on all paths so do not assume that an error or warning occurs in every case.

Ignoring any one of the development time warnings that are provided in the tables is discouraged. Depending on many factors, unrecoverable situations might occur at run time in business processes that have been published ignoring these warnings.

These same XSD constructs should not be imported through a BPMN 2 archive file using IBM WebSphere® Business Modeler, because in this case there is no validation but there are errors in the log file.

Only IBM Business Process Manager Advanced has Advanced Integration services, but the limitations also apply to the Standard and Express versions when you use a web service integration. The limitations are a result of internal data model limitations that also affect Process Designer. For a description of errors and warnings that can occur, see Troubleshooting XML schema messages for web service integrations.

The following tables list the errors and warning caused by the XML constructs with limitations.

Errors caused by XML schema constructs with limitations

The errors issued at development time are in Integration Designer.

Note: Validation does not occur on all paths. The problems shown result in import exceptions when you invoke refresh and publish in Integration Designer.
Table 1. Errors caused by XML schema constructs with limitations
Problem area Description Result
anySimpleType not supported The anySimpleType type is not supported. An error is issued at development time if anySimpleType type is used.
simpleType with a list not supported The simpleType type is not supported when used with a list. For example: <xs:simpleType name="myList"><xs:list itemType="xs:int"/></xs:simpleType> An error is issued at development time if simpleType type is used with a list.
Attribute declaration without a type definition (which defaults to anySimpleType) or attribute with anySimpleType Attributes with anySimpleType are not supported. If the values are missing from the declaration or if anySimpleType is used, an error is issued at development time.
Attribute default not checked If no corresponding attribute is present in an instance document, a default or fixed value should be set. If the attribute value has not been specified then a runtime exception might occur when the field is accessed.
Attribute wildcards not supported (anyAttribute) Wild cards permit an extension of the content model while providing some control to enforce a minimal constraint. Process Designer ignores wild cards. If wild cards are present, an error is issued at development time.
Complex type containing simple content Complex types allow elements in their content including a simple content element. Process Designer ignores a simple content element that is contained in a complex type. If a simple content element is contained in a complex type, an error is issued at development time.
Element wild cards not supported (any) Element wild cards, which allow flexibility on what is allowed in the content model, are not supported. An error is usually issued at development time if element wild cards are used. If the context is in a mirrored XSD, validation markers will not exist.
elementFormDefault is set to qualified (elementFormDefault="qualified"). This only applies to the WSDL schema type and in particular to the parameter that does not have a business object represented in Process Designer. An elementFormDefault declared as qualified means that all elements including local elements within a complex type must be qualified; that is, they are in the target namespace of the schema. elementFormDefault is supported by web service integrations. It is not supported by Advanced Integration services: a runtime exception occurs when the element is accessed.
Model group definitions with a minimum occurrence constraint (<group> reference) A model group definition associates a name with a model group, which lets you reuse the model group. A minOccurs attribute in a model group definition set to a value greater than 0 causes unexpected behavior in Process Designer. A model group definition with a minOccurs attribute set to a value greater than 0 results in an error at development time.
Nested model groups with a maximum occurrence constraint (a model group is <choice>, <all> and <sequence> ) A nested model group with a maxOccurs attribute greater than 1 causes unexpected behavior in Process Designer. A nested model group with a maxOccurs attribute greater than 1 results in an error at development time.
Non-wrapped list of type "Any" not supported A wrapper is required when using a list of type "Any" during serialization. Regardless of whether the "Wrap List" option is set to true or false in the advanced parameter properties, if the list is of type "Any" a wrapper will always be used during serialization.
QName is not supported A qualified name or QName is not supported. An error is issued at development time if a QName is used.
References to types in the System Data toolkit that correspond to XSD primitive types are supported. All other types in the System Data toolkit are not supported. Types in the System Data toolkit that correspond to XSD primitive types can be referenced. All other types in the System Data toolkit cannot be referenced. An error is issued at development time if an XSD references types other than those that correspond to XSD primitive types in the System Data toolkit.
Union types A union type creates a new type, which is the union of two or more simple types. Process Designer ignores union types. An XSD with a union attribute results in an error at development time.
base64Binary and hexBinary data types allow invalid values base64Binay and hexBinary data types follow validation rules that are ignored by Process Designer. Errors are issued at run time if invalid values are used for base64Binary or hexBinary data types.
gYear and gYearMonth data types allow invalid values gYear and gYearMonth data types follow validation rules that are ignored by Process Designer. Errors are issued at run time if invalid values are used for gYear or gYearMonth data types.
Whitespace is not normalized A set of rules are used to normalize whitespace values. These normalization rules are not followed by Process Designer. Errors might be issued at run time if whitespace normalization is necessary.
For inbound web services, the serialization or parsing of the generated content fails when date or time is selected as base type instead of dateTime. For a WSDL that an inbound web service generates, whether you select date, time, or dateTime as the inherited type, the generated WSDL is dateTime. However, when the message is generated, the output format is based on the selected base type. The serialization or parsing of the generated content as dateTime fails when you select date or time as the inherited type.

Warnings caused by XML schema constructs with limitations

The errors issued at development time are in Integration Designer.

Note: Ignoring these warnings might result in corrupted data within a process application at run time.
Table 2. Warnings caused by XML schema constructs with limitations
Problem area Description Result
All decimal types represented as java.lang.Double (regardless of precision) XML numeric types are mapped to Java numeric types in Integration Designer. Any decimal type is mapped to a java.lang.Double data type.

Infinite values, for example Infinity and INF (depending on the XML specification), are not supported.

A warning message is issued at development time when a decimal type is used.
A warning message is issued at development time when a decimal type is used. XML numeric types are mapped to Java numeric types in Integration Designer. Any integer type is mapped to a java.lang.Integer data type. A warning message is issued at development time when an integer type is used.
Complex type derivation and xsi:type Complex type derivation assumes a relationship between complex type definitions and the derived types that can be used in place of the base type specified. Process Designer ignores xsi:type annotations, however, and only creates instances of the base type. A warning message is issued at development time when an xsi:type is used.
Substitution group not supported A substitution group lets you specify elements that can replace another element in documents generated from the schema. Process Designer ignores substitution groups. A warning message is issued at development time that states a substitution group is not supported.
Note: Artifacts are shared between Process Designer and Integration Designer in mirrored libraries. The XML constructs listed here cause errors or warnings in Integration Designer, but not in Process Designer. Therefore, it is recommended that you use the Refresh from Process Center function in Integration Designer whenever a change to a process application or toolkit that you have in your workspace is made in Process Designer. Running this function determines if these errors and warnings affect your own process application or toolkit.

Your Advanced Integration service interface and the interfaces in mirrored libraries should only use business objects with supported XML schema constructs. If you have business objects that use the previous elements, then you need to mediate between these business objects and those on your Advanced Integration service or in your mirrored libraries. This action can be done using a mediation flow component and maps.