Page tree

MagicDraw 19.0 LTR SP3 Documentation


A port type is a named set of abstract operations and the abstract messages involved.
The port type
name attribute provides a unique name among all port types defined in the enclosing WSDL document.

An operation is named via the name attribute.

WSDL has four transmission primitives that an endpoint can support: 

  • One-way: The endpoint receives a message.
  • Request-response: The endpoint receives a message and sends a correlated message. 
  • Solicit-response: The endpoint sends a message and receives a correlated message.
  • Notification: The endpoint sends a message.

WSDL refers to these primitives as operations. Although request/response or solicit/response can be modeled abstractly using two one-way messages, it is useful to model these as primitive operation types.See the example below for more information.

Example:

Code:

<definitions name="StockQuote" 
		targetNamespace="http://example.com/stockquote.wsdl" 
		xmlns:tns="http://example.com/stockquote.wsdl" 		
		xmlns:xsd1="http://example.com/stockquote.xsd" 
		xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
		xmlns="http://schemas.xmlsoap.org/wsdl/">

	<message name="SubscribeToQuotes">
		<part name="body" element="xsd1:SubscribeToQuotes"/>
		<part name="subscribeheader" element="xsd1:SubscriptionHeader"/>

	</message>

<portType name="StockQuotePortType"> 
	<operation name="SubscribeToQuotes">
	<input message="tns:SubscribeToQuotes"/> 
	</operation>
	</portType>

<binding name="StockQuoteSoap" type="tns:StockQuotePortType"> 
	<soap:binding style="document" transport="http://example.com/smtp"/> 
	<operation name="SubscribeToQuotes">
		<input message="tns:SubscribeToQuotes">
			<soap:body parts="body" use="literal"/>
			<soap:header message="tns:SubscribeToQuotes" part="subscribeheader" use="literal"/> 
		</input>
	</operation> 
</binding>

<service name="StockQuoteService">
	<port name="StockQuotePort" binding="tns:StockQuoteSoap">
		<soap:address location="mailto:subscribe@example.com"/> 
	</port>
</service>

<types>
	<schema targetNamespace="http://example.com/stockquote.xsd"
			xmlns="http://www.w3.org/2000/10/XMLSchema"> 
		<element name="SubscribeToQuotes">
			<complexType>
				<all>
					<element name="tickerSymbol" type="string"/>
				</all> 
			</complexType>
		</element>
		<element name="SubscriptionHeader" type="uriReference"/> </schema>
</types> 
</definitions>

Reversed UML model: 

  • No labels