Siglas de Web Services Description Language, es un formato de XML que se utiliza para describir servicios Web.
Describe los requisitos del protocolo y los formatos de los mensajes necesarios para interactuar con los servicios listados en su catálogo.
Las operaciones y mensajes que soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato del mensaje.
Se usa a menudo en combinación con SOAP y XML Schema.
Los tipos de datos especiales se incluyen en el archivo WSDL en forma de XML Schema.
El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas en el WSDL.
Fuente: https://es.wikipedia.org/wiki/Simple_Object_Access_Protocol
Define los tipos de datos usados en los mensajes. Se utilizan los tipos definidos en la especificación XML Schema.
Define los elementos de mensaje. Cada mensaje puede consistir en una serie de partes lógicas. Las partes pueden ser de cualquiera de los tipos definidos en el elemento message.
Define las operaciones permitidas y los mensajes intercambiados en el Servicio.
Especifica los protocolos de comunicación usados.
Conjunto de puertos y dirección de los mismos. Esta parte final hace referencia a lo aportado por las secciones anteriores.
Con estos elementos no sabemos qué hace un servicio pero sí disponemos de la información necesaria para interactuar con él (funciones, mensajes de entrada/salida, protocolos, etcétera).
1 | <definitions name=“PrecioProd“ |
2 | targetNamespace="http://example.com/stockquote.wsdl" |
3 | xmlns:tns="http://example.com/stockquote.wsdl" |
4 | xmlns:xsd1="http://example.com/stockquote.xsd" |
5 | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" |
6 | xmlns="http://schemas.xmlsoap.org/wsdl/"> |
7 | <types> |
8 | <schema targetNamespace="http://example.com/stockquote.xsd" |
9 | xmlns="http://www.w3.org/2000/10/XMLSchema"> |
10 | <element name="SolPrecioProd"> |
11 | <complexType> |
12 | <all> |
13 | <element name="productoId" type="decimal"/> |
14 | </all> |
15 | </complexType> |
16 | </element> |
17 | <element name="PrecioProd"> |
18 | <complexType> |
19 | <all> |
20 | <element name="precio" type="float"/> |
21 | </all> |
22 | </complexType> |
23 | </element> |
24 | </schema> |
25 | </types> |
26 | <message name="InputGetPrecioProd"> |
27 | <part name="body" element="xsd1:SolPrecioProd"/> |
28 | </message> |
29 | <message name="OutputGetPrecioProd"> |
30 | <part name="body" element="xsd1:PrecioProd"/> |
31 | </message> |
32 | <portType name="PortTypePrecioProd"> |
33 | <operation name="GetPrecioProd"> |
34 | <input message="tns:InputGetPrecioProd"/> |
35 | <output message="tns:OutputGetPrecioProd"/> |
36 | </operation> |
37 | </portType> |
38 | <binding name="BindPrecioProdSoap" type="tns:PortTypePrecioProd"> |
39 | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> |
40 | <operation name="GetPrecioProd"> |
41 | <soap:operation soapAction="http://example.com/GetPrecioProd"/> |
42 | <input> |
43 | <soap:body use="literal"/> |
44 | </input> |
45 | <output> |
46 | <soap:body use="literal"/> |
47 | </output> |
48 | </operation> |
49 | </binding> |
50 | <service name="ServPrecioProd"> |
51 | <documentation>Devuelve el precio de un producto.</documentation> |
52 | <port name="PuertoPrecioProd" binding="tns:BindPrecioProdSoap"> |
53 | <soap:address location="http://example.com/precioprod"/> |
54 | </port> |
55 | </service> |
56 | </definitions> |