Tutorial: Python + Soap Web Service. Daniel Montenegro Cordero



Documentos relacionados
Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

SSH. El siguiente paso será descargarnos el módulo sshd.wbm.gz de la página para instalarlo.

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

Servidor de correo en Linux/ubuntu

CUPS Administración de impresora

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Instituto Tecnológico de Las Américas (ITLA)

WEB SERVICE FACTORUMCFDISERVICE

Laboratorio de Desarrollo Software

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Cómo capturar páginas web con el programa GNU Wget

Ficheros de configuración de Nagios (ejemplo con nrpe y snmp)

Guía de conexión a la red eduroam

INSTALACIÓN DE GITLAB

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

Manual Conexión Glop en Red. Cómo conectar dos o más Glop en Red con una licencia para varios puestos.

UNIDAD DIDACTICA 13 INICIAR SESIÓN EN LINUX DE FORMA REMOTA

Servidor FTP en Ubuntu Juan Antonio Fañas

Guía de Instalación del servicio de BackupOnline de Idecnet. Indice

Profesor: José Luis Di Biase

CREAR UN SERVICIO WEB BASICO CON JAVA AXIS2. Víctor J. Sosa

Paso 1 - Servidor de correo en Ubuntu: Instalar Apache 2

INSTALACIÓN DE SERVIDOR DE CORREO ELECTRÓNICO

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Tutorial: Primeros Pasos con Subversion

Haciendo pruebas sobre Splinter

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Luis Eduardo Peralta Molina Sistemas Operativos Instructor: José Doñe Como crear un Servidor DHCP en ClearOS

PRACTICA NO.25: HOW TO INSTALL AND CONFIGURE ELASTIX CENTRAL IP

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Introducción a la extensión de scripting en gvsig 2.0

Desarrollo de Servicios Web con JBuilder

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

Manual de instalación Actualizador masivo de Stocks y Precios

GUIA DE LABORATORIO N 8 A(Netbeans-java,Glassfish)

Uso del servidor gráfico X en los servidores del CESGA mediante PuTTY y Cygwin

a) Instalación del servidor SSH en GNU/Linux

PRÁCTICA 1-2: INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DNS (PRIMARIO Y ZONA DE RESOLUCIÓN DIRECTA E INVERSA EN WINDOWS 2008 SERVER)

UNIDAD DIDACTICA 17 RECURSOS COMPARTIDOS CON SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

WINDOWS : TERMINAL SERVER

Instala y configura un servidor SSH/SFTP. Transferir ficheros a dicho servidor con un cliente SFTP y SCP.

Ejemplo de mono INSTALACION DE MONO EN UBUNTU

INSTALACION MANUAL DE ECLIPSE EN UBUNTU

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Manual de NetBeans y XAMPP

Servicio de acceso y control remoto SSH. carlos victoria casanova

Tarea 1 Programación José Luis Comesaña

Configuración de Samba para compartir Archivos

Instalación de ActivePerl en MS Windows

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Mi primer servidor. Fernando Fernández Consultor Preventa HP ISS

Presentación. Nombre. Matricula. Materia. Tema. Profesor. Marcos Rodríguez Javier Sistemas Operativos III. Central IP Elastix.

Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows

Servidor DNS sencillo en Linux con dnsmasq

Creación Servidor FTP

Elastix Web Services (WSDL) Manual de Usuario

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

Configuración del firewall en Linux con IPtables

Manual Acceso FTP. Winter Music CAC Concurso de maquetas

Instituto Tecnológico de Las Américas (ITLA)

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

ENVÍO DE POR MEDIO DE SMTP

How to. Servidor Samba en CentOS

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. 16, SERVIDOR

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Redes de Área Local: Configuración de una VPN en Windows XP

Las redes y su seguridad

Configuración del Servidor de DHCP

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

Software Libre y Software propietario

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.

Servidor de correo en Ubuntu 10.4: Instalar Apache 2.

Instalación software VPN Usuarios SARA

Instalación de un servidor DHCP

Instalación de cygwin-x. Pablo Sanz Mercado.

Redirección de puertos

Tutorial Servicios Web

INSTALACIÓN DE UBUNTU SERVER 12.4 EN MÁQUINA VIRTUAL

Universidad ORT - Arquitecturas de Software sobre plataforma JEE Web Services (parte 1)

Instalación del Escritorio SSC

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. En este caso Elastix. PRATICA NO.

Ubuntu Server HOW TO : SERVIDOR FTP EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como compartir datos en un servidor ftp..

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Crear usuario en XP. Redes Paso a Paso. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10. Descripción.

PEDRO REVERTE GÓMEZ SERVICIOS DE RED E INTERNET / IMPLANTACIÓN DE APLICACIONES WEB 2º ASIR

Instalación de Tomcat7 en Ubuntu

Programando por primera vez

[CONFIGURACIÓN DE DNS]

PRÁCTICA 8 CONFIGURACIÓN DHCP EN FEDORA, DEBIAN Y OPEN SUSE:

FTP. File Transfer Protocol. Protocolo De Transferencia De Archivo. Administración de Redes de Computadores. Ficha:

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé PRACTICA NO. 7, SAMBA COMO GRUPO DE TRABAJO

Servidor de correo en Ubuntu: Instalar y configurar servidor de correo

Crear servidor NFS en Debian

Guia de Instalación de un servidor para Gerencia y Gestión de Sistemas de información:

Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia

PRACTICA NO.4: HOW TO INSTALL NFS

Office Online Office Online

Transcripción:

Tutorial: Python + Soap Web Service Daniel Montenegro Cordero

Python - Lenguaje de programación interpretado. - Filosofia código legible. - Permite programación orientada a objetos, imperativa y funcional. - Facilidad de integración con otro lenguajes.

Que hay en Python? Python cuenta con varias librerías open source que permiten la integración con estándares ya definidos y que hacen parte de las nuevas tecnologías web.

Algunas librerías o frameworks.. - Suds - ZSI - Wsdl2py - SoapPy - Soaplib - Flask - enterprise

Flask - enterprise Es un framework basado en Python que provee toda una infraestructura para el soporte de protocolos estándares de la industria. (Soap, Wsdl, Xml). Es una recopilación de librerías que se han desarrollado y que forman una fuerte base de seguridad con una fuerte compatibilidad entre versiones.

Más info... - Desarrollado por Massive Rock Inc. - Hace parte de la continuación del proyecto Flask.

Por qué Flask - enterprise? - Codigo abierto. - Facil instalación. - Pocas líneas de código. - Facil manejo.

Requerimientos - GNU/ Linux (Ubuntu, Debian, etc) - Permisos de instalación. - Editor de texto. - Python 2.7 - SoapUI

Instalación Iniciamos la terminal de linux que estamos utilizando para realizar los pasos de instalación que daremos a continuación. Iniciamos como usuario con permisos de administración.

Instalación Paso 1: Instalar Pip. sudo apt-get install python-pip Paso 2: Usando Pip instalamos el paquete Flask - Enterprise sudo pip install Flask-Enterprise

Consumir servicio web soap Utilizando el servicio web de futbol : http: //footballpool.dataaccess.eu/data/info.wso? WSDL. A continuación haremos un paso a paso de como consumir un servicio web soap utilizando Flask - enterprise.

Usando python Paso previo: Creamos un archivo de extensión.py, lo cual indicará que es un archivo de python. Lo guardamos en una ruta la cual tengamos acceso. Ejemplo: consume.py

consume.py Paso 1: Importamos las librerías from flask import Flask from flaskext.enterprise import Enterprise Paso 2: Definimos una app en Flask app = Flask( name )

Paso 3: Creamos una instancia de la clase Enterprise enterprise = Enterprise(app) Enterprise? Esta clase actúa como controlador de la aplicación, permite hacer los enlaces o las conexiones.

Paso 4: client = enterprise. connect_to_soap_server(url= ) Gracias a la función connect_to_soap_server logramos capturar el wsdl y lo guardamos en una variable client.

Paso 5 : client.service. Request En el ejemplo que tenemos del fútbol podemos hacer lo siguiente: result = client.service.stadiumnames() Aquí ya logramos consumir el web service!!!.

Para poder ver las funciones que provee el servicio web utilizamos la herramienta soapui, donde nos indicará que parámetros necesita el request al web service.

Si la función del servicio web que vamos a consumir requiere de parámetros, añadimos estos al momento de llamar la función. Ejemplo: result = client.service.stadiuminfo( Arena Corinthians )

Result.. Si hacemos print result podremos ver el tipo de dato que nos retorno el web service. Por ejemplo en el de fútbol sería el siguiente:

Como correr nuestro archivo? Mediante la terminal de linux, ejecutamos el siguiente comando: python consume.py A continuación podremos ver el resultado del print.

print result

Si queremos obtener el valor como tal del resultado del request : print result. atributo En el caso del ejemplo retorna una lista de strings, por lo tanto tendríamos que hacer un recorrido sobre result.string[i].

Proveer un servicio web soap Realizamos los pasos del 1 al 3. El servidor que proveera el wsdl va estar corriendo en el mismo python. Creamos un archivo con el nombre que deseemos y con la extensión.py.

server.py Realizaremos 2 funciones básicas que proveerá el servicio web. 1) Obtener la fecha actual. 2) Sumar 2 enteros.

server.py Definimos una clase class DemoService(enterprise.SOAPService): Decimos que va a ser un servicio soap al momento de crear la función y nos permitirá acceder : @enterprise.soap(parametros, returns=tipo)

Tipos - enterprise._sp.integer - enterprise._sp.string - enterprise._sp.array Ejemplo: @enterprise.soap(_returns=enterprise._sp.string) Nota: Va a ser una función que retorna un string al hacer la consulta del web service y no recibe ningún parámetro.

Definimos la función Como cualquier función de python que pertenece a una clase escribimos: def get_suma(self,a,b): return a + b def get_time(self): return ctime() # importamos ctime

Nota: El nombre de las variables que vas a usar en las funciones es de la misma manera como las vas a llamar al momento de consumir el servicio web.

Así queda definido Class DemoService(enterprise.SOAPService): @enterprise.soap(_return=enterprise._sp.string) def get_time(self): return ctime() Donde ctime() es la función que nos retorna la fecha actual, la debemos importar con: from time import ctime

Servidor? if name == main : app.run(host = 127.0.0.1) De la misma manera que en ejemplo de consumir un servicio web guardamos un archivo con extensión.py y lo corremos desde la terminal de linux con el comando: > python serversample.py

Acceder a mi url donde tengo el WSDL http://localhost:5000/_enterprise/soap/?wsdl

Mi servicio web soap esta listo para ser consumido! Gracias!

Bibliografía - http://massive.immersedcode. org/2011/staging/projects/default/python/flaskenterprise/ - http://reddit.com/r/python - https://wiki.python.org/moin/webservices - http://flask.pocoo.org/ - http://pip.readthedocs.org/en/latest/installing.html - https://github.com/maerteijn/soapserver-example