How to Read WSDL
It seems that a lot of people get confused by what all the parts of a WSDL file are for and how they fit together. There is a really clear explanation of the
Web Services Description Language (WSDL) on the
Microsoft site.nbsp;nbsp;
I can't better the description provided by the links above, but I can maybe provide a shorter pithier version.
Lets start with a picture.

This picture summarises the components of a WSDL file. We can start in the top left hand corner and work our way around.
A WSDL document may include a "types" tag which is used to define data types that will be used later. These types are described using XSchema and may also be brought in from an external XSD file, which is good practice as they may well be re-usable in several services.
The types defined are used to create messages defined by the "message" tag. Messages are the units of data transfer to and fro between service provider and service requestor. The messages themselves may consist of several parts, identified by the "part" tag. Each part identifies either a type (rpc style web services) or an element (doc style web web services) that is the format of the part. Hence parts depend upon the types. These types could include primitive types such as "string" or "int".
The messages are grouped together into exchanges using the "portType" tag. A portType defines an interface or abstract service. Associated with the portType are one or more "operation" tags. Each operation specifies either an input or an output message or both. A normal synchronous request operation would have an input message followed by an output message. The operation identifies the message type associated with the input or output.
Everything we have discussed so far is abstract, it has no concrete implementation. As we move to the right hand side of the picture we move from the abstract to the concrete.
The "binding" tag provides a concrete implementation of the abstract portType, specifying for example the use of SOAP over HTTP. For each operation in the portType there may be a corresponding "operation" tag in the binding that will describe the mapping of the message onto the physical transport mechanism.
Finally the concrete service itself is identified by the "service" tag which is associated with one or more "port" tags. Each port identifies the bindings supported by this service.
For a fuller description go to the full Aaron Skonnard article at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebsrv/html/understandWSDL.asp.
Reading and understanding WSDL can come in very handy at times. Knowing what piece of WSDL refers to what other piece can help resolve a lot of tricky to find errors. Happy debugging.