Overview of mapping session files

This topic describes the mapping session files created by the WSDL2ELS component in the WSDL2PLI and WSDL2COBOL scenarios.

The purpose of the information of this topic is to provide a context for the descriptions of annotations in the next two topics.

The WSDL2ELS component generates mapping session files for each message input, output, and fault1 message referenced by the set of operations defined by the user-specified combination of WSDL Service and Port. Mapping session files are unidirectional, mapping either a composite XSD element declaration to an 01-level language structure or an 01-level language structure to a composite XSD element declaration. Therefore, at least two mapping session files are generated by WSDL2ELS in the WSDL2PLI and WSDL2COBOL scenarios when an operation defines both an input and output message.

Each mapping session file describes the mappings that were computed by WSDL2ELS during the process of generating language structures from a composite XSD element declaration that was referenced by either an input, output, or fault1 message in a specific WSDL operation. Mapping session files can be viewed for reference purposes with the Mapping Editor in the RDz workbench.

Mapping session files are generated using a subset of the metadata format defined by the com.ibm.ccl.mapping framework. This is the same framework that is used when mapping session files are manually created in the meet-in-middle scenario.

Figure 1 shows an example of a mapping session file. The top-level structure is a mappingRoot element that contains the following elements:
  • An input element specifies the location of the source structure of the mapping. In the example below this is the location of the XSD schema structure named CalculatorInput defined in the types section of a WSDL file.

  • An output element specifies the location of the target structure of the mapping. In the example this is the location of the PL/I source file Calculator.inc.

  • An mappingDeclaration element specifies individual mappings:
    Note: There can be multiple mappingDeclaration elements.
    • First an input element and an output element specify the source structure and the target structure for the individual mappings that follow.

    • Then one or more mapping elements specify the fields within the source structure and target structure that are mapped together. In the following example there are two such mapping elements, each defining an individual mapping.

Figure 1. Example contents of a mapping session file
<ccl:mappingRoot xmlns:ccl="http://www.ibm.com/2006/ccl/Mapping" domainID="com.ibm.etools.xmlent.mapping.domainxsd2pli" >

   <ccl:input path="file:/C:/Calculator.wsdl? http://www.Calculator.com/schemas/CalculatorInput"/>
   <ccl:output path="file:/C:/Calculator.inc"/>

   <ccl:mappingDeclaration name="Calculator.mapping">

      <ccl:input path="CalculatorInput"/>
      <ccl:output path="CALCULATORINPUT"/>

      <ccl:mapping>
         <ccl:input path="integerArray"/>
         <ccl:output path="INTEGERARRAY"/>
      </ccl:mapping>

      <ccl:mapping>
         <ccl:input path="allowOverflow"/>
         <ccl:output path="ALLOWOVERFLOW"/>
      </ccl:mapping>

   </ccl:mappingDeclaration>
</ccl:mappingRoot>

1 SOAP fault messages are not supported in the WSDL2COBOL scenario.