Message Element
Messages & Port TypesWSDL messages describe the message structure sent and received by a client invoking WSDL operations. WSDL messages are not directly mapped to any UML model element but their parts are mapped to parameters of UML operations. These operations reside in WSDL Port Types which are mapped to UML interfaces of stereotype <<PortType>>.
Figure: WSDL portType and message elements compared to the UML <<PortType>> interface
<message name="GetLastTradePriceInput">
<part name="body" element="typens:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="typens:TradePrice"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
The above table illustrates the correspondence between the WSDL portType and the UML interface having the stereotype <<PortType>>. The mapping of the message parts to the UML operation parameters is explained in the next section.
Message Parts
WSDL knows two ways of refering message parts to type definitions:
- element. Refers to an XSD element using a QName.
- type. Refers to an XSD simpleType or complexType using a QName.
The QName of element has a namespace and a local-name part. The namespace part refers to the target namespace of a schema and the local-name part refers to an element within this schema.
For messages of Document encoded operations elements are mapped to operation parameters. The parameter name is given by the local-name part of the element and the type is given by the XML Schema import process (see section 9.3) of the referenced Schema element. The Importer will report an error if the element attribute occurs in a part of a message that is used by a not-Document encoded operation.
The QName of type has a namespace and a local-name part. The namespace part refers to the target namespace of a schema and the local-name refers to a simple or complex type within this schema.
For messages of RPC encoded operations types are mapped to operation types. The parameter name is given by the part name. The Importer will report an error if the type attribute occurs in a part of a message that is used by a not-RPC encoded operation.
Operation parameters might be ordered by using the parameterOrder attribute of WSDL operations. However, the Importer does not support the feature yet and will report an error if this attribute occurs.