Processing empty complex types
This topic describes the behavior of the batch processor when generating IMS PL/I top-down converters that contain operations with empty input and output messages.
The batch processor supports processing complex types in which one or both operations are empty and have no language types or mapping session files to import. This support can be used for ping services to check if a service is alive. When processing non-empty input or output messages, there is no evident change in the function of the batch processor. Only when empty input and output messages are encountered does the batch processor function differently
- Empty input message
When an empty input message is processed by the batch processor, the XML to language structure conversion process is not attempted because the WSDL2PLI metadata attribute,
SoapBodyHasMapping
has been defined as false in the XSD instance. This means that the message does not contain any data and is considered empty, thus requiring no processing. The converter driver will then populate the symmetric header to provide service context to the Message Processing Program (MPP). - Empty output message
When an empty input message is processed by the batch processor, the XML to language structure conversion process is not attempted because the WSDL2PLI metadata attribute,
SoapBodyHasMapping
has been defined as false in the XSD instance. This means that the message does not contain any data and is considered empty, thus requiring no processing. The converter driver then copies the markup for the output messages fully qualified global empty element into the IMS Connect buffer.
When a scenario involving an empty complex type is encountered, the warning message CRRZX0131W is issued to the user and also recorded in the log to ensure that the empty message was intentional.