Page tree

MagicDraw 19.0 LTR SP3 Documentation

A service groups a set of related ports together.
name attribute provides a unique name among all services defined in the enclosing WSDL document.

Ports within a service have the following relationships:

  • None of the ports communicate with each other (e.g. the output of one port is not the input of another).
  • If a service has several ports that share a port type, but employ different bindings or addresses, the ports are alternatives. Each port provides semantically equivalent behavior (within the transport and message format limitations imposed by each binding). 
  • By examining its ports, we can determine a service's port types. This allows a consumer of a WSDL document to determine if it wishes to communicate with a particular service based on whether or not it supports several port types.



<definitions name="StockQuote" 
		<schema targetNamespace=""
		<element name="TradePriceRequest">
					<element name="tickerSymbol" type="string"/> 
		<element name="TradePrice">
					<element name="price" type="float"/> 

<message name="GetLastTradePriceInput">
	<part name="body" element="xsd1:TradePriceRequest"/>

<message name="GetLastTradePriceOutput">
	<part name="body" element="xsd1:TradePrice"/>

<portType name="StockQuotePortType"> 
	<operation name="GetLastTradePrice">
		<input message="tns:GetLastTradePriceInput"/>
		<output message="tns:GetLastTradePriceOutput"/> 

<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
	<soap:binding style="document" transport=" http"/>
	<operation name="GetLastTradePrice">
		<soap:operation soapAction=""/> 
			<soap:body use="literal"/> 
			<soap:body use="literal"/>

<service name="StockQuoteService">
	<documentation>My first service</documentation>
	<port name="StockQuotePort" binding="tns:StockQuoteSoapBinding">
		<soap:address location=""/> 


Reversed UML model: 

  • No labels