modulo13 web services

Post on 03-Jul-2015

2.264 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Se verá como consumir servicios basados en SOAP y en REST desde Windows Phone, así como un acercamiento a los servicios de Azure.

TRANSCRIPT

Web Services

Desde Windows Phone podemos consumir los siguientes servicios:

SOAP

Windows Communcation (WCF)

Otras tecnologías basadas en SOAP

HTTP

REST

Azure

Datos

Formats

XML

JSON

RSS

Atom

Access

Serialization

Linq to XML

Linq to JSON

Syndication

REST Vs SOAP

REST Utiliza únicamente XML y HTTP

Cada URL representa un objeto sobre el que puedes realizar POST, GET, PUT y DELETE

• SOAP – Infraestructura basada en

XML

– Cada objeto tiene métodos definidos por el programador con los parámetros necesarios

REST Vs SOAP

Ventajas de SOAP

Fácil de consumir

Rígido: tipado fuerte, sigue un contrato

Herramientas de desarrolo

• Ventajas de REST

– Ligero: no hace falta mucho XML de configuración

– Resultados legibles

– Fácil de implementar: no hacen falta herramientas específicas

CONSUMIENDO

SERVICIOS

Archivo WMAppManifest.xml

<?xml version="1.0" encoding="utf-8"?> <Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0"> <App xmlns="" ProductID="{c5d19681-4a86-4565-9509-9a565c587cac}" Title="reproductor" RuntimeType="SilverLight" Version="1.0.0.0" Genre="NormalApp" Author="" Description="" Publisher=""> <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath> <Capabilities>

<Capability Name="ID_CAP_NETWORKING" /> <Capability Name="ID_CAP_LOCATION" /> <Capability Name="ID_CAP_SENSORS" /> <Capability Name="ID_CAP_MICROPHONE" /> <Capability Name="ID_CAP_MEDIALIB" /> <Capability Name="ID_CAP_GAMERSERVICES" /> <Capability Name="ID_CAP_PHONEDIALER" /> <Capability Name="ID_CAP_PUSH_NOTIFICATION" /> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> </Capabilities> <Tasks> </Tasks> <Tokens> </Tokens> </App> </Deployment>

CONSUMIR SERVICIOS WEB

Sólo métodos asíncronos!!

Por cada operación, el proxy contiene: Método asíncrono

Evento “Completed”

CONSUMIR SW SOAP

1. Añadimos la referencia al servicio http://api.microsofttranslator.com/V1/SOAP.svc

CONSUMIR SW SOAP

2. Agregamos referencias a librerías:

using BingSoap.TranslatorService;

3. Creamos alguna variable….

//Referencia SOAP a Bing Translator

TranslatorService.LanguageServiceClient ls = new LanguageServiceClient();

//AppId para utilizar los servicios de Bing

string AppId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

CONSUMIR SW SOAP

4. En el creador generamos el handler ls.TranslateCompleted += new

EventHandler<TranslateCompletedEventArgs>(ls_TranslateCompleted);

5. En el manejador de un botón, llamamos al manejador

ls.TranslateAsync(AppId, textoOrigen.Text, "ES", "EN");

6. Finalmente mostramos el resultado void ls_TranslateCompleted(object sender, TranslateCompletedEventArgs e)

{

if (e.Error == null)

textoDestino.Text = e.Result;

}

DEMO

CONSUMIR SW SOAP

CONSUMIR SERVICIOS

WEB REST

1. Agregamos referencias a la librería:

using System.Runtime.Serialization;

2. Creamos un proxy:

WebClient proxy = new WebClient();

3. Preparamos una Uri:

CONSUMIR SERVICIOS

WEB REST

4. Generamos manejadores asíncronos

5. Implementamos el manejador

DEMO

CONSUMIR SERVICIOS WEB REST

top related