Escolar Documentos
Profissional Documentos
Cultura Documentos
UNIVERSIDAD DE OVIEDO
PROGRAMACIN
ORIENTADA A
OBJETOS CON C# EN
LA PLATAFORMA .NET
Dpto. de Informtica
OOTLab
OOTLab - Laboratorio de Tecnologas Orientadas a Objetos
www.ootlab.uniovi.es
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Espacio de nombres
La pgina de documentacin del servicio nos da
una lista de todas las operaciones disponibles
Tambin nos dice cmo podemos cambiar el
espacio de nombres temporal a otro diferente, si
queremos publicar el servicio Web
Para ello se usa el atributo WebService
[WebService(Namespace="http://
cesaracebal.c
WebService(Namespace="http://cesaracebal.c
om/
om/webservices/")]
webservices/")]
public class MiServicioWeb { }
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Cliente de prueba
Adems, para cada mtodo del servicio
Web, .NET genera automticamente una
pgina de documentacin para l
Dicha pgina incluye un cliente que nos
permiten probar el servicio Web
As como documentacin de cmo seran
los distintos tipos de clientes
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Tipos de clientes
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Caso 3: SOAP
En realidad, empleando .NET, este tercer
mtodo podramos dividirlo en varios,
atendiendo al modo de implementacin
Pero antes, necesitamos ver algunas
nociones de SOAP, para entender su
relacin con los servicios Web
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
SOAP
Muy rpidamente, daremos una nocin de qu es SOAP y
cmo se usa con los servicios Web.
Ms importante que eso es comprender que, a pesar de lo
que se lee habitualmente, los servicios Web no estn
ligados en modo alguno a SOAP, y ya hay estilos
alternativos de intercambio de mensajes (verbigracia,
REST).
Introduccin
SOAP = Simple Object Access Protocol
Es un vocabulario de XML que describe
llamadas a mtodos y sus parmetros
Similar a XML-RPC
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Body
El cuerpo envuelve al
mensaje en s que se
quiere transmitir
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
</soap:Envelope>
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Actores de SOAP
Un actor de SOAP es cualquier cosa que acta
sobre el contenido de un mensaje SOAP
El actor predeterminado es el receptor final pretendido
del mensaje
Un intermediario recibe un mensaje SOAP podra
actuar sobre l antes de reenviarlo por la ruta propia del
mensaje
Cliente
Intermediario
Intermediario
Destinatario
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Elemento Header
El elemento opcional Header se utiliza para pasar
datos que podra no ser apropiado codificar en el
cuerpo
Por ejemplo, si el mensaje est comprimido, habra que
indicar aqu el algoritmo de compresin
Otros usos:
Autenticacin
Informacin de seguridad
Informacin de enrutamiento
Transacciones
Informacin de pago
etc.
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Elemento Body
Un mensaje SOAP vlido debe tener un
elemento Body
Contiene el mensaje en s a transmitir
No hay ninguna restriccin
Podra ser una simple cadena de caracteres, un
array de bytes codificado o XML
El nico requisito es que no invalide el
documento XML resultante
Es decir, que el mensaje SOAP sea un documento
XML vlido
Cursos de Extensin Universitaria
UNIVERSIDAD DE OVIEDO
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Caractersticas de SOAP
No est asociado a ningn lenguaje
Ni a ningn protocolo de transporte
Aunque lo habitual ser usar HTTP, dado que un
mensaje SOAP no es ms que un documento XML,
podr enviarse con cualquier protocolo que permita
transmitir texto
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
10
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
Caso 3: SOAP
Una vez adquiridas unas nociones
bsicas de SOAP, pasemos a
ver cmo podemos hacer
clientes SOAP con .NET
WEB362
11
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
12
Aadimos la referencia
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
WEB362
Servicios Web
Csar F. Acebal - OOTLab
OOTLab
13
Ejercicios
WEB362
14