The “collapsed” view of the full WSDL document (generated in previous section) looks as follows:
<?xml version="1.0" encoding="utf-8" ?>
<definitions xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:s0="http://tempuri.org/" targetNamespace="http://tempuri.org/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <message name="GetFlightStatusSoapIn">
+ <message name="GetFlightStatusSoapOut">
+ <message name="GetFlightStatusHttpGetIn">
+ <message name="GetFlightStatusHttpGetOut">
+ <message name="GetFlightStatusHttpPostIn">
+ <message name="GetFlightStatusHttpPostOut">
+ <portType name="FlightServiceSoap">
+ <portType name="FlightServiceHttpGet">
+ <portType name="FlightServiceHttpPost">
+ <binding name="FlightServiceSoap" type="s0:FlightServiceSoap">
+ <binding name="FlightServiceHttpGet" type="s0:FlightServiceHttpGet">
+ <binding name="FlightServiceHttpPost" type="s0:FlightServiceHttpPost">
+ <service name="FlightService">
</definitions>
Fig 2: “Collapsed” view of the full WSDL document.
By examining the above document structure, one can see that there are five unique element types under the root node “definitions” (the root node is “definitions” after the fact that WSDL is simply a set of definitions that define a Web Service). They are
? ? types
? ? message
? ? portType
? ? binding
? ? service
Apart from the above elements there is another important element that is used in defining a Service, the “port”. Including this sixth element we have a total of six element types in a WSDL document. Let us take a look each of them to understand what they really are and what we can decipher from them.