A binding defines the message format and protocol details for operations and messages defined by a particular portType. There can be any number of bindings for a given portType.

The name attribute provides a unique name among all bindings defined in the enclosing WSDL document.

A binding references the portType it binds using the type attribute. Binding extensibility elements are used to specify the concrete grammar for the input, output, and fault messages. Per-operation binding information as well as per-binding information can also be specified. 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:xsd="http://www.w3.org/2000/10/XMLSchema" 
			xmlns:xsd1="http://example.com/stockquote.xsd" 
			xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
			xmlns="http://schemas.xmlsoap.org/wsdl/">

	<message name="GetTradePriceInput">
			<part name="tickerSymbol" element="xsd:string"/> 
			<part name="time" element="xsd:timeInstant"/>
	</message>

	<message name="GetTradePriceOutput">
			<part name="result" type="xsd:float"/>
	</message>

	<portType name="StockQuotePortType"> 
			<operation name="GetTradePrice">
				<input message="tns:GetTradePriceInput"/>
				<output message="tns:GetTradePriceOutput"/> 
			</operation>
	</portType>

	<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

		<operation name="GetTradePrice">
			<soap:operation soapAction="http://example.com/GetTradePrice"/> 
			<input>
				<soap:body use="encoded" namespace="http://example.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</input> 
			<output>
				<soap:body use="encoded" namespace="http://example.com/stockquote" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
			</output> 
		</operation>>
	</binding>

	<service name="StockQuoteService">
		<documentation>My first service</documentation>
		<port name="StockQuotePort" binding="tns:StockQuoteBinding">
			<soap:address location="http://example.com/stockquote"/> 
		</port>
	</service> 
</definitions>

Reversed UML model: