This is more of a “notes to self” post than anything else. Here is the basic summary of WSDL’s most important elements:
A WSDL file consists of an abstract part and a concrete part. The abstract part lays out all the interfaces, the methods that make up those interfaces, the parameters and return types of those methods. The concrete part specifies how those abstract parts are actually implemented, and where you can find them.
described in bottom – up order:
- <types> contains all data types used in all method calls described in the WSDL.
- <message> defines a one way message, i.e. an RPC call w/o a return.
- <part> a parameter or a return value in a message
- <operation> combines multiple messages to form a complete message, i.e. a request/response sequence.
- <portType> a sequence of 1..N operations that describes an interface
described in bottom up order:
- <binding> the wire protocol and protocol specific details of the a portType element. Contains SOAP specific protocol mappings to the operations defined in portType. Can describe the type of binding, i.e. RPC or Document. I can’t tell which one is more heavily used or which one is valid.
- <port> the actual location of each binding specified in the WSDL.
- <service> wraps the specified locations (<port> elements ) of the bindings specified in the WSDL.
Wow. On the plus side, I remember what a port is now. On the minus side, I have to remember what a port is now.