Rational® Developer
for System z® version 8.0
introduces support for creating new top-down, PL/I, IMS™ Enterprise Suite SOAP Gateway service provider
MPPs from user-supplied WSDL files using the Enterprise Service Tools
Batch Processor. Several enhancements have been made to the Enterprise
Service Tools component of RDz and IMS Connect
to enable this new support.
Enhanced Enterprise Service Tools Batch Processor.
The Batch Processor has been enhanced to support generation of
top-down IMS PL/I artifacts by
integrating the new functions described in the remainder of this document
into combined, repeatable generation process.
WSDL2ELS (WSDL to Enterprise Language Structure)
Invoked by the Enterprise Service Tools Batch Processor, WSDL2ELS
generates the following artifacts when given a WSDL file as input.
- PL/I language Structures are generated for each input and output
message of each operation on a user-supplied WSDL Service and Port.
A programming model that assists with sparse, variable, and unbounded
arrays as well optional elements is applied to generated language
structures.
- Mapping Session files are generated for each input and output
message of each operation on a user-specified WSDL Service and Port
to express mappings between XSD element and attribute declarations
and PL/I language structure members. Not all generated language structure
members are mapped to XSD elements or attributes, some members will
have relationships with each other that are expressed using annotations.
- WSDL2ELS Metadata is generated to capture the high-level relationships
between the user-supplied WSDL and the WSDL2ELS generated artifacts.
This file is in XML format and is consumed programmatically by the
Enterprise Service Tools Batch Processor to generate XML Converters, IMS Enterprise SOAP Gateway correlator
files, and template IMS Web service
provider MPPs.
- A log file to assist with problem determination.
IMS PL/I provider MPP template
program for a given WSDL
A template IMS PL/I provider
MPP is generated based on the WSDL2ELS metadata. The template program
includes the language structures generated by WSDL2ELS and begins
with logic that obtains the service invocation context. Once the
service context has been retrieved the from the message protocol header,
the template branches to an operation handling procedure that corresponds
to the operation that was invoked. Each operation handling procedure
demonstrates usage of the RDz-provided APIs to retrieve and store
language structures in the IMS Message
Queue according to a new message protocol.
A new message protocol and segmentation API (IRZPWSIO) that is
required by service provider MPPs and XML converters developed using
the top-down scenario provides several enhancements that are not available
to MPPs enabled as service providers using the bottom-up scenario:
See the PL/I include member IRZPWSH in data set FEK.SFEKSAMP
for more information.
Top-down IMS Connect PL/I
XML Converters with REFER and programming model support
The RDz PL/I top-down support for IMS Enterprise
Suite SOAP Gateway can be described as an enhanced, automated, meet-in-the-middle.
In order to support unbounded arrays, the programming model applied
to language structures generated by WSDL2ELS, and the message protocol
and segmentation API, PL/I XML converters generated by the Enterprise
Service Tools Batch Processor for the top-down scenario are significantly
different from those generated for other scenarios and depend on IMS Connect enhancements that will
be delivered via APAR PM11648.
Note: The PL/I include member FEK.SFEKSAMP(IRZPWSH)
and the PL/I load module FEK.SFEKLOAD(IRZPWSIO) are required to build
top-down IMS PL/I XML converters.
XML
converters generated for the IMS PL/I
top-down scenario may issue the following new Language Environment® conditions:
- IRZ0500S XML to language structure conversion could not complete
in procedure PROCEDURE-NAME because a return code of RETURN-CODE was
received from the API IRZXSETS when attempting to store language structure
STRUCTURE-NAME into the IMS Connect
message output buffer.
- IRZ0501S Language Structure to XML conversion could not complete
in procedure PROCEDURE-NAME because a return code of RETURN-CODE was
received from the API IRZXGETS when attempting to retrieve language
structure STRUCTURE-NAME from the IMS Connect
message input buffer.
- IRZ0502S Language Structure to XML conversion could not complete
in procedure PROCEDURE-NAME because the array counter variable COUNTER-NAME
for array ARRAY-NAME specified a value of COUNTER-VALUE which exceeds
the array's limit of ARRAY-LIMIT.
IMS Enterprise Suite SOAP
Gateway multi-operation Correlator File
The Enterprise Service Tools Batch Processor generates a unique
XML converter for each operation in the supplied WSDL in the IMS PL/I top-down scenario. Therefore,
the SOAP Gateway Correlator file generated by the Batch Processor
will have an entry for each operation that specifies the respective
XML converter name.