WSDL2ELS limitations and restrictions
This topic describes limitations and restrictions for the WSDL2ELS component in the WSDL2PLI and WSDL2COBOL scenarios.
WSDL files
The following limitations and restrictions apply to WSDL files:
WSDL2ELS supports WSDL 1.0 and 1.1 and SOAP 1.0 and 1.1.
- The WSDL document must have a document-literal wrapped style SOAP binding. The following conditions can be raised when WSDL2ELS is given a WSDL document with an unsupported SOAP binding style:
CRRZX0114E An unsupported SOAP binding style style_name was specified for Port Binding binding_name of Port port_name of Service service_name.
CRRZX0116E An unsupported SOAP operation style style_name was specified for Operation operation_name of Port Binding binding_name of Port port_name of Service service_name.CRRZX0115E An unsupported SOAP body use use_name was specified for Operation operation_name of Port Binding binding_name of Port port_name of Service service_name.
XSD structures
The following limitations apply to XSD structures:
XML schemas must have unique target namespaces within the context of the source WSDL. If WSDL2ELS detects that an XML schema has a non-unique target namespace then the following condition is raised:
CRRZX0102E An error occurred while importing a WSDL file. The XML Schema target namespace target_namespace is not unique within the context of the WSDL file.The XSD built-in type
anySimpleTypeis not supported. If WSDL2ELS detects that an XSD element or attribute is of this type then the following condition is raised:CRRZX0121E An unsupported built-in primitive or derived simple type "http://www.w3.org/2001/XMLSchema:anySimpleType" was specified for XSD XPath: qualified_element_or_attribute_path.The XSD built-in complex type
anyTypeis not supported. If WSDL2ELS detects that an XSD element declaration or reference is of this type then the following condition is raised:CRRZX0119E An unsupported complex type "http://www.w3.org/2001/XMLSchema:anyType" was found at XSD XPath: qualified_element_path.The XSD built-in simple type
hexBinaryis not supported. If WSDL2ELS detects that an XSD element or attribute is of this type then the following condition is raised:CRRZX0121E An unsupported built-in primitive or derived simple type "http://www.w3.org/2001/XMLSchema:hexBinary" was found at XSD XPath: qualified_element_or_attribute_path.The model group compositor
choiceis not supported. If WSDL2ELS detects that an XSD element declaration or reference is a member of this compositor then the following condition is raised:CRRZX0120E An unsupported model group compositor "choice" was specified for XSD XPath: qualified_element_path.Recursive complex type references are not supported. If WSDL2ELS detects that an XSD element specifies a complex type of which it is already a direct or indirect member, then the following condition is raised:
CRRZX0117E A recursive reference to complex type qualified_complexType_name was made by XSD element: qualified_element_name.Variable occurrence model group compositors are not supported. If WSDL2ELS detects that an XSD element is a member of, for example, a variable occurrence compositor, then the following condition is raised:
CRRZX0123E A variable occurrence model group compositor was specified for XSD XPath: qualified_element_path.- The XML schema wildcards
anyAttributeandanyare not supported. If WSDL2ELS detects a wildcard while processing an XML schema then the following conditions can be raised:CRRZX0122E An unsupported XSD Wildcard "http://www.w3.org/2001/XMLSchema:any" was found at XSD element: qualified_element_name.CRRZX0122E An unsupported XSD Wildcard "http://www.w3.org/2001/XMLSchema:anyAttribute" was found at XSD element: qualified_element_name.
WSDL2ELS does not support global element substitution and therefore ignores the
substitutionGroupattribute on XSD element declarations.While xs:base64Binary fields can be used to transmit large binary objects into and out of IMS (WSDL2PLI only), great care should be taken when sizing these fields to avoid negative impacts on performance.
Enterprise PL/I structures
The following limitations apply to Enterprise PL/I structures:
A single PL/I major structure (level 01) is generated to contain all of the minor structures and elementary variables that correspond to XML elements and attributes in the source XML schema. The maximum size of a PL/I major structure is 231 - 1 bytes.
The characteristics of enterprise language structures might decrease the amount of XML data that can be parsed or generated. For example, although the literal 'John Doe' requires only 8 bytes to encode in EBCDIC, saving it in the field “05 cust_name CHAR(255)” requires 255 bytes.
PL/I major structures support a maximum nesting depth of 15 levels for minor structures, arrays, and elementary variables. Therefore the maximum supported nesting depth of elementary, composed, and array XML elements is 15. If WSDL2ELS detects an XSD element declaration with a depth greater than 15 then the following condition is raised:
CRRZX0118E The maximum XSD element hierarchy depth of 15 has been exceeded at XSD XPath: qualified_element_path.- WSDL2ELS does not support generation of language structures for SOAP Headers or SOAP Header faults in the WSDL2PLI scenario.
Enterprise COBOL structures
The following limitations apply to Enterprise COBOL structures:
- WSDL2ELS does not support the generation of language structures for SOAP faults, SOAP Headers, or SOAP Header faults in the WSDL2COBOL scenario.
- A single COBOL 01-level group item is generated to contain all of the subordinate group and elementary data items that correspond to XML elements and XML attributes in the source XML schema. Beginning with Enterprise COBOL V3R4, the maximum size of a COBOL 01-level group item is 227-1 bytes. Incidentally, the maximum size of the COBOL working-storage, linkage, and local-storage sections is also 227-1 bytes, therefore it is important to use the WSDL2ELSSpec/@defaultMaxOccursLimit and WSDL2ELSSpec/@defaultCharMaxLength attributes to avoid generating structures that are unnecessarily large.
- The characteristics of enterprise language structures might decrease the amount of XML data that can be parsed or generated. For example, although the literal 'John Doe' requires only 8 bytes to encode in EBCDIC, saving it in the field “05 CUST-NAME PIC X(255)” requires 255 bytes.
- COBOL supports a maximum nesting depth of 49 levels for subordinate
group and elementary data items, and the maximum number of dimensions
for an array (table) is limited to 7. Therefore, the maximum supported
total nesting depth of XSD element declarations is 49 with a limit
of 7 dimensions on XSD element arrays. If WSDL2ELS detects that an
XSD element declaration exceeds the total nesting depth limit of
49, or the array dimension limit of 7, WSDL2ELS will terminate with
one of the following messages:
CRRZX0118E The maximum XSD element hierarchy depth of maximum_depth has been exceeded at XSD XPath: qualified_element_path.CRRZX0135E The maximum XSD element array dimension limit of dimension_limit has been exceeded at XSD XPath: qualified_element_path.