SDL is the description of web service software. Specifically, it describes all public available methods, exchange methods, message types, and transport protocols and Web Service addresses at the network layer. Client Applications can find web services for specific transmission protocols and call any public methods. Basically, WSDL can be seen as a contract between the service provider and the service requestor. WSDL is in XML format, so it is platform-independent. WSDL is similar to Java because it supports abstraction and specific concepts, as well as interfaces. Similar to Java, WSDL also supports abstract interfaces. In WSDL, a service is described as a set of terminals that receive messages. The following are some basic WSDL terms. Figure 9-3 shows the relationship between these concepts.
Message: a message is composed of typed data parts.
Operation: A group of messages between the service requestor and the service provider.
Porttype: operation set
Port: porttype implementation
Servicetype: porttype set
Service: Port set, which is the implementation of servicetype
1. WSDL document
The WSDL 1.2 document consists of four basic elements of information, known as infoset, describing Web Services. Infoset is the XML Element and attribute used in the WSDL document. In addition, WSDL supports a component model that mirrors infoset and provides another abstraction layer. The following list defines the elements of XML infoset in WSDL 2.
Description: This is the first element. It is used as a container for other WSDL elements.
Interface: This element defines the abstract behavior of a service. The interface has a name to expand other interfaces. The interface can contain operations and errors.
Binding: This element defines how to access the service. A name is bound to a specific element. It specifies the message content and the transmission protocol of each interface. All operations and errors in the interface are defined in this element.
Service: This element defines where the service is accessed. It contains the service name and one or more terminals.
Terminal: This is the destination of the message.
2. WSDL binding
WSDL 1.2 can be expanded. You can add a new message format and transmission protocol by using a mechanism called extension-or binding extension. The extension provides a namespace declaration prefix for each bound extension at the top of the WSDL. Then, you can bind the extended prefix to the WSDL for the elements and attributes.
WSDL 1.2 supports binding extensions of SOAP 1.2 and SOAP 1.1. These extensions allow customization of SOAP messages, such as versions, bindings, protocols, and SOAP message headers. An extension has a set of default values, which can be used at the interface or operation level. When using HTTP as the transmission protocol, the binding should indicate whether http get or POST is used.
WSDL 2.0 also supports HTTP binding extensions so that SOAP is not used when HTTP is used.