SlideShare una empresa de Scribd logo
1 de 3
Web Service: Definición, utilización y estructura del WSDL
 DEFINICIÓN
WSDL (Web Services Description Language) es un protocolo basado en XML que describe los accesos al
Web Service. Podríamos decir que es el manual de operación del mismo, porque nos indica cuáles son las
interfaces que provee el Servicio web y los tipos de datos necesarios para su utilización.
WSDL es el lenguaje propuesto por el W3C para la descripción de Servicios Web y permite describir la
interfaz de un servicio web en un formato XML. Una de sus ventajas es que permite separar la descripción
abstracta de la funcionalidad ofrecida por un servicio, es decir, de los detalles concretos del mismo, como
puede ser el enlace a un protocolo de red o un formato de mensaje concreto que puede ser SOAP, HTTP o
MIME.
El WSDL describe los servicios Web a través de los mensajes que se intercambian entre el proveedor del
servicio y el cliente.
 UTILIZACIÓN
Los pasos que se realizan al consumir el servicio son los siguientes:
1. Lo primero que realiza el cliente al hacer una solicitud al servicio es tomar la definición del archivo WSDL.
2. El servidor entrega el fichero WSDL. Este archivo indica a la petición los métodos y propiedades de ese
servicio que están disponibles.
3. El cliente hace la petición en el formato que espera el servidor según las especificaciones del fichero
WSDL en el que se dice qué parámetros acepta y de qué tipo.
4. El servidor entrega el resultado de la consulta.
 ESTRUCTURA
Un ejemplo de la estructura de un documento WSDL es el siguiente:
+ expand source
Donde:
Elemento
WSDL
Descripción
<?xml
version=”1.0″>
Un documento WSDL es como cualquier documento XML y se basa en los
esquemas, por lo que debe comenzar con dicha etiqueta.
<definitions> Comienzo del documento, este tag agrupa a todos los demás elementos
<types>
Se definen los tipos de datos utilizados en los mensajes. Se utilizan los tipos
definidos en la especificación de esquemas XML.
<message>
Se definen los métodos y parámetros para realizar la operación. Cada message
puede consistir en una o más partes (parámetros). Las partes pueden ser de
cualquiera de los tipos definidos en la sección anterior.
<portType>
Esta sección es la más importante, ya que definen las operaciones que pueden ser
realizadas, y los mensajes que involucran (por ejemplo el mensaje de petición y
el de respuesta).
<binding> Se definen el formato del mensaje y detalles del protocolo para cada portType.
En la etiqueta <definitions> podemos tener los siguientes atributos:
 xmlnsc – Namespace al que pertenece el WSDL, http://schemas.xmlsoap.org/wsdl/
 name – Podemos tener que el Servicio Web introduzca el nombre del propio servicio en el momento de crear
el WSDL.
En realidad, se utiliza la etiqueta <service name=”MiServicioWeb”> para indicar el nombre del servicio,
depende de la antigüedad del servicio y de la tecnología que se haya utilizado para crearlo.
Por tanto, dentro del árbol <service> podemos tener los siguientes atributos e hijos:
 name – Como hemos dicho antes, éste atributo indica el nombre del Servicio Web.
 <documentation> – Dentro del arbol del Servicio se puede abrir otra etiqueta para incluir una descripción del
servicio.
 <port> – Aquí se indica la dirección y el tipo de acceso de los Servicios Web. Podría ser:
1. SOAP con <soap:address location=”http://localhost:8082/MiServicio/Servicio1.wsdl” />
2. HTTP GET con <http:address location=”http://localhost:8082/MiServicio/wsdl/Servicio.jsp” />
+ expand source
Los métodos y parámetros de recepción y entrega de información se envían en elementos con la
etiqueta <message>.
Los métodos se llaman Mensajes y, normalmente, suele haber al menos, uno de entrada y otro de salida.
Si tuviéramos un método llamado getDatos() que recibe un parámetro String con el apellido en el Servicio
Web, la forma de definirlo sería la siguiente:
+ expand source
Los parámetros se expresan de la siguiente forma, <part name=”param1″ type=”xsd:int” /> ó <part
name=”param2″ type=”xsd:float” /> y los tipos de datos que podemos utilizar en un WSDL son los mismos
que podemos usar en un XSD (Schema XML). También es posible definir clases en el servicio y devolver un
parámetro del tipo de esa clase, pero siempre hemos de devolver tipos de datos primarios. Aunque
devolvamos clases personalizadas por nosotros, dichas clases devolverán primitivos en sus métodos y
propiedades.
Para poder indicar si los parámetros son input o output, se utiliza la etiqueta <operation>, dónde se indica el
input message y el message de output. La colección de todas las operaciones (métodos) expuestos por un
servicio se llama portType y se definen dentro de WSDL con la etiqueta <portType>:

Más contenido relacionado

La actualidad más candente

Guía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfGuía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfpolyy1
 
ActIVE
ActIVEActIVE
ActIVENOEMY
 
Implementación de servidor exchange server en windows server
Implementación de servidor exchange server en windows serverImplementación de servidor exchange server en windows server
Implementación de servidor exchange server en windows serverAlberto Cachetito
 
Famas active directory preentar
Famas active directory preentarFamas active directory preentar
Famas active directory preentaryuliaranda
 

La actualidad más candente (7)

Tutor javawebparte2
Tutor javawebparte2Tutor javawebparte2
Tutor javawebparte2
 
Sql
SqlSql
Sql
 
Guía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdfGuía+básica+de+características+de+archivos+.pdf
Guía+básica+de+características+de+archivos+.pdf
 
Formularios
FormulariosFormularios
Formularios
 
ActIVE
ActIVEActIVE
ActIVE
 
Implementación de servidor exchange server en windows server
Implementación de servidor exchange server en windows serverImplementación de servidor exchange server en windows server
Implementación de servidor exchange server en windows server
 
Famas active directory preentar
Famas active directory preentarFamas active directory preentar
Famas active directory preentar
 

Destacado

Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Abrirllave
 
Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)damowe
 
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014ahtreb57
 
Contenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIContenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIAbrirllave
 

Destacado (10)

Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)Ejercicio - Personal de departamentos (XSD - XML Schema)
Ejercicio - Personal de departamentos (XSD - XML Schema)
 
Almdedat
AlmdedatAlmdedat
Almdedat
 
Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)Pyxser, Serialización XML en Python (paper)
Pyxser, Serialización XML en Python (paper)
 
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
Diario Oficial de la Federación Anexo20 Resolución Miscelánea Fiscal 2014
 
Web3y4
Web3y4Web3y4
Web3y4
 
Nu soap
Nu soapNu soap
Nu soap
 
Rdf
RdfRdf
Rdf
 
Introducción a XML Schema
Introducción a XML SchemaIntroducción a XML Schema
Introducción a XML Schema
 
Chuleta de DTD
Chuleta de DTDChuleta de DTD
Chuleta de DTD
 
Contenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGIContenidos detallados del tutorial de LMSGI
Contenidos detallados del tutorial de LMSGI
 

Similar a Wsdl concepto

Wsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazWsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazCalzada Meza
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-phpLinkser SA.
 
Servicios Web
Servicios WebServicios Web
Servicios Webdwebslide
 
SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Servicesedmodi
 
Servicios web service api rest en netbeans
Servicios web service api rest en netbeansServicios web service api rest en netbeans
Servicios web service api rest en netbeansvcuscoistt
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidosTensor
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xmlJuan Anaya
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web ServicesJose Selman
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxXavierNavia
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-IntroducciónLuis Fernando Aguas Bucheli
 

Similar a Wsdl concepto (20)

Wsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitazWsdl bpel4ws chumpitaz
Wsdl bpel4ws chumpitaz
 
Web services-con-php
Web services-con-phpWeb services-con-php
Web services-con-php
 
Servicios web
Servicios webServicios web
Servicios web
 
02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx02 - Servicios SOAP.pptx
02 - Servicios SOAP.pptx
 
Servicios Web
Servicios WebServicios Web
Servicios Web
 
SOAP y Web Services
SOAP y Web ServicesSOAP y Web Services
SOAP y Web Services
 
Servicios web service api rest en netbeans
Servicios web service api rest en netbeansServicios web service api rest en netbeans
Servicios web service api rest en netbeans
 
Web services en sistemas distribuidos
Web services en sistemas distribuidosWeb services en sistemas distribuidos
Web services en sistemas distribuidos
 
Servicios web xml
Servicios web xmlServicios web xml
Servicios web xml
 
Semana 04 protocolo y seguridad
Semana 04 protocolo y seguridadSemana 04 protocolo y seguridad
Semana 04 protocolo y seguridad
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Tema 3 1
Tema 3 1Tema 3 1
Tema 3 1
 
S3-PD2-2.1. SOAP
S3-PD2-2.1. SOAPS3-PD2-2.1. SOAP
S3-PD2-2.1. SOAP
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Tema 3 0
Tema 3 0Tema 3 0
Tema 3 0
 
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptxArquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
Arquitectura-orientada-a-Servicios.-v-2017.01-Prof.-L.-Straccia.pptx
 
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
6-Unidad 2: Diseño de Vista-2.3 Introducción Web Services-Introducción
 
SOA y Web Services
SOA y Web ServicesSOA y Web Services
SOA y Web Services
 

Wsdl concepto

  • 1. Web Service: Definición, utilización y estructura del WSDL  DEFINICIÓN WSDL (Web Services Description Language) es un protocolo basado en XML que describe los accesos al Web Service. Podríamos decir que es el manual de operación del mismo, porque nos indica cuáles son las interfaces que provee el Servicio web y los tipos de datos necesarios para su utilización. WSDL es el lenguaje propuesto por el W3C para la descripción de Servicios Web y permite describir la interfaz de un servicio web en un formato XML. Una de sus ventajas es que permite separar la descripción abstracta de la funcionalidad ofrecida por un servicio, es decir, de los detalles concretos del mismo, como puede ser el enlace a un protocolo de red o un formato de mensaje concreto que puede ser SOAP, HTTP o MIME. El WSDL describe los servicios Web a través de los mensajes que se intercambian entre el proveedor del servicio y el cliente.  UTILIZACIÓN Los pasos que se realizan al consumir el servicio son los siguientes: 1. Lo primero que realiza el cliente al hacer una solicitud al servicio es tomar la definición del archivo WSDL. 2. El servidor entrega el fichero WSDL. Este archivo indica a la petición los métodos y propiedades de ese servicio que están disponibles. 3. El cliente hace la petición en el formato que espera el servidor según las especificaciones del fichero WSDL en el que se dice qué parámetros acepta y de qué tipo. 4. El servidor entrega el resultado de la consulta.
  • 2.  ESTRUCTURA Un ejemplo de la estructura de un documento WSDL es el siguiente: + expand source Donde: Elemento WSDL Descripción <?xml version=”1.0″> Un documento WSDL es como cualquier documento XML y se basa en los esquemas, por lo que debe comenzar con dicha etiqueta. <definitions> Comienzo del documento, este tag agrupa a todos los demás elementos <types> Se definen los tipos de datos utilizados en los mensajes. Se utilizan los tipos definidos en la especificación de esquemas XML. <message> Se definen los métodos y parámetros para realizar la operación. Cada message puede consistir en una o más partes (parámetros). Las partes pueden ser de cualquiera de los tipos definidos en la sección anterior. <portType> Esta sección es la más importante, ya que definen las operaciones que pueden ser realizadas, y los mensajes que involucran (por ejemplo el mensaje de petición y el de respuesta). <binding> Se definen el formato del mensaje y detalles del protocolo para cada portType. En la etiqueta <definitions> podemos tener los siguientes atributos:  xmlnsc – Namespace al que pertenece el WSDL, http://schemas.xmlsoap.org/wsdl/  name – Podemos tener que el Servicio Web introduzca el nombre del propio servicio en el momento de crear el WSDL.
  • 3. En realidad, se utiliza la etiqueta <service name=”MiServicioWeb”> para indicar el nombre del servicio, depende de la antigüedad del servicio y de la tecnología que se haya utilizado para crearlo. Por tanto, dentro del árbol <service> podemos tener los siguientes atributos e hijos:  name – Como hemos dicho antes, éste atributo indica el nombre del Servicio Web.  <documentation> – Dentro del arbol del Servicio se puede abrir otra etiqueta para incluir una descripción del servicio.  <port> – Aquí se indica la dirección y el tipo de acceso de los Servicios Web. Podría ser: 1. SOAP con <soap:address location=”http://localhost:8082/MiServicio/Servicio1.wsdl” /> 2. HTTP GET con <http:address location=”http://localhost:8082/MiServicio/wsdl/Servicio.jsp” /> + expand source Los métodos y parámetros de recepción y entrega de información se envían en elementos con la etiqueta <message>. Los métodos se llaman Mensajes y, normalmente, suele haber al menos, uno de entrada y otro de salida. Si tuviéramos un método llamado getDatos() que recibe un parámetro String con el apellido en el Servicio Web, la forma de definirlo sería la siguiente: + expand source Los parámetros se expresan de la siguiente forma, <part name=”param1″ type=”xsd:int” /> ó <part name=”param2″ type=”xsd:float” /> y los tipos de datos que podemos utilizar en un WSDL son los mismos que podemos usar en un XSD (Schema XML). También es posible definir clases en el servicio y devolver un parámetro del tipo de esa clase, pero siempre hemos de devolver tipos de datos primarios. Aunque devolvamos clases personalizadas por nosotros, dichas clases devolverán primitivos en sus métodos y propiedades. Para poder indicar si los parámetros son input o output, se utiliza la etiqueta <operation>, dónde se indica el input message y el message de output. La colección de todas las operaciones (métodos) expuestos por un servicio se llama portType y se definen dentro de WSDL con la etiqueta <portType>: