The purpose of the information of this topic is to provide a context for the descriptions of annotations in the next two topics.
The WSDL2PLI file-generation process creates two mapping session files for each operation defined on the specified WSDL Service and Port. One of the mapping session files is for the input message and the other is for the output message.
Each mapping session file describes the mappings between the XSD element and attribute declarations and the enterprise language structures that are required for processing the input or output message. Mapping session files are used to generate XML conversion artifacts and typically should not be modified manually.
Mapping session files are written using a subset of the metadata format used by the com.ibm.ccl.mapping framework.
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.
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 example below there are two such mapping elements, each defining an individual mapping.
<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>