The WSDL2PLI component generates metadata to record the high-level relationships between the user-supplied WSDL file and the WSDL2PLI-generated artifacts. The metadata file is in XML format and is used by the Batch Processor to generate XML Converters, deployment metadata, and template programs. It is also used by other tools.
Figure 1 shows the XML schema for the WSDL2PLI metadata file. The XML schema target namespace and root element are versioned to make evolution of the metadata format possible in future releases of Rational® Developer for System z®.
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com/8_0_0_0/wsdl2elsmetadata" xmlns:w2e="http://www.ibm.com/8_0_0_0/wsdl2elsmetadata" attributeFormDefault="qualified"
elementFormDefault="qualified">
<xsd:element name="Wsdl2elsMetadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="w2e:parameters" />
<xsd:element ref="w2e:preferences" />
<xsd:element ref="w2e:service" />
</xsd:sequence>
<xsd:attribute name="version" type="xsd:string" default="8.0.0.0" />
</xsd:complexType>
</xsd:element>
<xsd:element name="parameters">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="sourceWsdlFile" type="xsd:string" />
<xsd:element name="sourceWsdlService" type="xsd:QName" />
<xsd:element name="sourceWsdlPort" type="xsd:string" />
<xsd:element name="targetLanguageFile" type="xsd:string" />
<xsd:element name="targetMappingDirectory" type="xsd:string" />
<xsd:element name="targetMetadataFile" type="xsd:string" />
<xsd:element name="targetLogFile" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="preferences">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="enterpriseLanguage" type="xsd:string" />
<xsd:element name="enterpriseEnvironment" type="xsd:string" />
<xsd:element name="isServiceRequester" type="xsd:boolean" />
<xsd:element name="hostCCSIDIsDBCS" type="xsd:boolean" />
<xsd:element name="defaultStringLength" type="xsd:int" />
<xsd:element name="defaultTotalDigits" type="xsd:int" />
<xsd:element name="defaultFractionDigits" type="xsd:int" />
<xsd:element name="defaultDateTimeLength" type="xsd:int" />
<xsd:element name="elementMaxOccursLimit" type="xsd:int" />
<xsd:element name="languageNameLimit" type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="service">
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="unbounded" ref="w2e:operation" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:QName" use="required" />
<xsd:attribute name="port" type="xsd:string" use="required" />
<xsd:attribute name="binding" type="xsd:QName" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="operation">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="w2e:input" minOccurs="0" />
<xsd:element ref="w2e:output" minOccurs="0" />
<xsd:element ref="w2e:fault" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
<xsd:element name="input">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="w2e:soapHeaderLanguageBinding" minOccurs="0" />
<xsd:element ref="w2e:soapBodyLanguageBinding" minOccurs="1" />
</xsd:sequence>
</xsd:element>
<xsd:element name="output">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="w2e:soapHeaderLanguageBinding" minOccurs="0" />
<xsd:element ref="w2e:soapBodyLanguageBinding" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="fault">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="w2e:soapHeaderLanguageBinding" minOccurs="0" />
<xsd:element ref="w2e:soapBodyLanguageBinding" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="soapHeaderLanguageBinding">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="soapHeaderMappingFile" type="xsd:string" />
<xsd:element name="soapHeaderPointerStructure" type="xsd:string" minOccurs="0" />
<xsd:element name="soapHeaderReferStructure" type="xsd:string" minOccurs="0" />
<xsd:element name="soapHeaderStructure" type="xsd:string" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="soapBodyLanguageBinding">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="soapBodyMappingFile" type="xsd:string" />
<xsd:element name="soapBodyPointerStructure" type="xsd:string" minOccurs="0" />
<xsd:element name="soapBodyReferStructure" type="xsd:string" minOccurs="0" />
<xsd:element name="soapBodyStructure" type="xsd:string" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>