servicios web - envejecimiento csicenvejecimiento.csic.es/documentos/web-services/descripc... ·...

17
SERVICIOS WEB SOAP Portal Mayores trabaja continuamente en la aplicación de nuevas ideas, conceptos, pro- ductos, servicios y prácticas tecnológicas con el objetivo de ser útil, estar en la vanguardia tecnológica y ofrecer valor y calidad. 0. Introducción 1. Definición de servicios WSDL 1.1 Servicio Web "Consulta de Recursos" 1.2 Servicio Web “Consulta de Legislación” 1.3 Servicio Web "Consulta de Proyectos" 1.4 Servicio Web “Consulta de Bibliografía” 1.5 Servicio Web “Consulta de Agenda” 1.6 Servicio Web “Consulta de Programas” 2. Ejemplo de cliente java Febrero 2011 Descripción de los Servicios Web de Portal Mayores

Upload: others

Post on 18-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

SE

RV

ICIO

S W

EB

SO

AP

Portal Mayores trabaja continuamente en la aplicación de nuevas ideas, conceptos, pro-ductos, servicios y prácticas tecnológicas con el objetivo de ser útil, estar en la vanguardia

tecnológica y ofrecer valor y calidad.

0. Introducción

1. Definición de servicios WSDL

1.1 Servicio Web "Consulta de Recursos" 1.2 Servicio Web “Consulta de Legislación” 1.3 Servicio Web "Consulta de Proyectos" 1.4 Servicio Web “Consulta de Bibliografía” 1.5 Servicio Web “Consulta de Agenda” 1.6 Servicio Web “Consulta de Programas”

2. Ejemplo de cliente java

Febrero 2011

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

2|3|

Portal Mayores acerca el uso de Internet y

la información sobre personas mayores a toda la sociedad

0. INTRODUCCIÓN

El presente documento constituye la descripción técnica de los Servicios Web de Portal Mayores, cuya finalidad es promover el acceso a la información sobre Gerontología y Geriatría de Portal Mayores. La documentación contiene la descripción funcional y de interface, detallando los parámetros de entrada y salida de cada una de las funciones. El conocimiento de estas funciones y su interface permite integrar en terceras aplicaciones funcionalidades de consulta de nuestras bases de datos a través de Internet.

El término WebServices o Servicios Web engloba una serie de tecnologías que permiten el diálogo de unos sistemas con otros utilizando los propios recursos de comunicación que ofrece Internet. Los WebServices son uno de los ejemplos recientes de lo que ha dado en denominarse arquitecturas orien-tadas a servicios, y constituyen uno de los pilares de la Web 2.0, para conseguir que no sólo los datos sino también muchos tipos de operaciones puedan procesarse de forma distribuida, promoviendo así una mayor participación y transparencia en la creación de contenidos por parte de usuarios y desarrolladores. Algunas de las especificaciones públicas más utilizadas para implementar WebServices son CORBA, XML-RPC, SOAP y, más recientemente, REST. Portal Mayores ofrece su WebService en SOAP 1.1.

SOAP (acrónimo del ingés Simple Object Access Protocol) es un protocolo que funciona a su vez sobre el protocolo HTTP y permite que aplicaciones remotas se comuniquen mediante el en-vío de paquetes de información XML. Esto significa la posibilidad de integrar sistemas dispa-res con un grado bajo de acoplamiento. SOAP se diferencia de otros protocolos basados en XML en que permite el intercambio de estructuras complejas de datos (clases) ya que es capaz de in-formar a priori al cliente del esquema y los tipos constituyentes de dichas estructuras (metada-tos). Todo servicio SOAP debe proporcionar un punto de enlace en forma de dirección URL.

Es habitual que dicha URL referencie la especificación del servicio, que normalmente es un do-cumento XML con extensión WSDL (acrónimo del inglés Web Services Description Langua-ge) también denominado esquema del servicio. El esquema suele ser público y cumple una función contractual entre el proveedor y el cliente, es decir, constituye el mecanismo mediante el cual el pro-veedor informa a los potenciales clientes de qué operaciones o métodos están disponibles, qué utili-dad tienen, cuales son lo parámetros de cada método y qué tipo de datos devuelven. Por tanto pode-mos definir un WebService SOAP como un conjunto de WebMethods de especificación conocida que un cliente puede invocar de forma asíncrona mediante una solicitud XML (Request) para obtener un resultado (Response) también XML cuya estructura acompaña al propio cuerpo del mensaje.

Los Servicios Web de Portal Mayores están desarrollados en Java sobre plataforma J2EE-Spring, y se ejecutan en el propio contenedor web Linux de Portal Mayores (Tomcat). Portal Mayores WS puede resultar de gran utilidad a cualquier desarrollador de sistemas corporativos que desee integrar datos sobre Geron-tología y Geriatría de forma transparente en la lógica del sitio web o la aplicación que esté realizando.

2|3|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

3|

Los servicios de Portal Mayores son los siguientes:

- pmRecWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Residencias. El punto de enlace al esquema del servicio es:

http://portalmayores.es/service/pmRecWS.wsdl

- pmBiblioWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Bibliografía. El punto de enlace al esquema del servicio es: http://portalmayores.es/service/pmBiblioWS.wsdl

- pmEvenWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Agenda y Cursos.El punto de enlace al esquema del servicio es: http://portalmayores.es/service/pmEvenWS.wsdl

- pmLegWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Legislación. El punto de enlace al esquema del servicio es: http://portalmayores.es/service/pmLegWS.wsdl

- pmProgWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Programas. El punto de enlace al esquema del servicio es: http://portalmayores.es/service/pmProgWS.wsdl

- pmProyWS es la denominación del WebService SOAP de Portal Mayores para la búsqueda de Proyectos.El punto de enlace al esquema del servicio es: http://portalmayores.es/service/pmProyWS.wsdl

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

4|5|

1. Definición de Servicios WSDL

1.1 Servicio Web "Consulta de RESIDENCIAS"

- Operación "residencia"

a) Descripción funcional

Permite realizar diferentes tipos de consulta de residencias en función de los parámetros de entrada.

b) Estructura de datos de entrada

Nombre Tipo

residenciaRequest Objeto que contiene la consulta

requestContent Los datos de consulta

A continuación se especifica requestContent:

Nombre Tipo Valoresdenominacion string El nombre o parte del nombre de residencia: “Resi-

dència Nova Vida”, “Nova Vida”, etccp string El código postal de la zona en que se encuentra la

residenciamunicipio string Nombre del Municipio: “Roses”, “Alcobendas”, etcprovincia string Nombre de la provincia: “Madrid”ccaa string Nombre de la comunidad autónoma: “Andalucía”gestion string Nombre del gestor: “Adavir”, etctipologia Int Los valores válidos son:

1: corresponde a “Asistidos”2: corresponde a “Mixta”3: corresponde a “Otro tipo”4: corresponde a “Válidos” Nota: se admiten también valores en minúsculas y sin tildes

titularidad Int Los valores válidos son:1: corresponde a privada2: corresponde a “Privada sin fin de lucro” 2: corres-ponde a “Privada sin fin de lucro”3: corresponde a “Pública estatal”4: corresponde a “Pública autonómica”5: corresponde a “Pública local”

Nota: se admiten tambien valores en minúsculas y sin tildes

servicios string Nombre del servicio

4|5|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

5|

c) Estructura de datos de salida

Nombre TiporesiResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros:

Nombre Descripción Tipodenominacion El nombre completo de la residencia Stringdireccion La dirección de la residencia Stringcp El código postal de la residencia Stringmunicipio El municipio de la residencia Stringprovincia La provincia de la residencia Stringccaa La comunidad autónoma de la residencia Stringtelefono El teléfono de la residencia Stringfax El fax de la residencia Stringemail El email de la residencia Stringweb La web de la residencia Stringgestion El nombre del gestor de la residencia Stringtipologia El tipo de residencia Stringtitularidad La titularidad de la residencia Stringplazas Las plazas de la residencia Stringservicios Listado de los servicios de la residencia Stringactualizacion Fecha de la última actualización de los datos de la residencia String

d) Ejemplo de consulta SOAPUI

<soapenv:Envelopexmlns:soapenv = “http://schemas.xmlsoap.org/soap/envelope/”xmlns:sch = “http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:residenciaRequest><sch:requestContent><sch:denominacion>Ballesol</sch:denominacion><sch:cp></sch:cp><sch:municipio></sch:municipio><sch:provincia></sch:provincia><sch:ccaa></sch:ccaa><sch:gestion></sch:gestion><sch:tipologia></sch:tipologia><sch:titularidad></sch:titularidad><sch:plazas></sch:plazas><sch:servicios></sch:servicios></sch:requestContent></sch:residenciaRequest></soapenv:Body></soapenv:Envelope>

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

6|7|

1.2 Servicio Web "Consulta de Legislación"

- Operación “ley”

a) Descripción funcional

Permite realizar diferentes tipos de consulta de leyes relacionadas con Gerontología y Geriatría en función de los parámetros de entrada.

b) Estructura de datos de Entrada

Nombre TipoleyRequest Objeto que contiene la consultarequestContent Los datos de consulta

A continuación se especifica requestContent:

Nombre Tipo Valorestitulo String El título de la normaboletin String Las siglas del boletín en que se ha publicado la norma (BOE,

BOJA, DOCM, etcambito String Valores posibles:

-“Autonómico”-“Provincial”-“Municipal”-“Internacional”-“Comunitario”-“Estatal”-“Comarcal”Nota: se admiten tambien valores en minúsculas y sin tildes

ccaa String Comunidad autónoma que ha generado la normadescriptor String Descriptores asociados a la normaorganismo String Nombre del organismo que crea la norma

anyo1 Int Limite inferior para la búsqueda por años

anyo2 Int Limite superior para la búsqueda por años

rango String El rango de la norma. Valores posibles:- “Acuerdo”- “Acuerdo Marco”- “Anteproyecto de Ley”- “Anuncio”- “Comparecencia”- “Constitución”- “Convenio”- “Corrección de errores”- “Decisión UE”- “Declaración UE”- “Decreto”- “Decreto Autonómico”

6|7|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

7|

Nombre Tipo Valores- “Decreto Foral”- “Decreto Legislativo Autonómico”- “Decretos Municipales”- “Dictamen UE”- “Directiva UE”- “Instrucción”- “Instrumento de Ratificación2- “Ley”- “Ley Autonómica”- “Ley Foral2- “Ley Orgánica”- “Norma Foral”- “Orden Autonómica”- “Orden Foral”- “Orden Ministerial”- “Ordenanzas Municipales”- “Otras Disposiciones Autonómicas”- “Otras Disposiciones Estatales”- “Otras Disposiciones UE”- “Proyecto de Ley”- “Real Decreto”- “Real Decreto Legislativo”- “Real Decreto Ley”- “Recomendación de Organización Internacional”- “Recomendación UE”- “Reglamento”- “Reglamento UE”- “Resolución”- “Resolución Autonómica”- “Resolución de Organización Internacional”- “Resolución UE”- “Tratado o Convenio Internacional”

c) Estructura de datos de salida

Nombre TipoleyResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros

Nombre Descripción Tipo

titulo El título de la norma Stringboletin El nombre del boletín en que se ha publicado la

normaString

numboletin El número del boletín en que se ha publicado la norma

String

fechadisposicion Fecha de disposición de la norma Stringfechapublicacion Fecha de publicación de la norma Stringambito Ámbito de la norma String

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

8|9|

Nombre Descripción Tipo

rango Rango de la norma Stringnumnorma Número de la norma Stringclasificacion Clasificación de la norma Stringdescriptores Descriptores de la norma Stringccaa Comunidad autónoma, si procede Stringresumen Resumen del contenido de la norma Stringnota Nota de la norma, si procede String

d) Ejemplo de consulta SOAPUI

<soapenv:Envelopexmlns:soapenv = “http://schemas.xmlsoap.org/soap/envelope/”xmlns:sch = “http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:leyRequest><sch:requestContent><sch:titulo></sch:titulo><sch:boletin></sch:boletin><sch:ambito></sch:ambito><sch:ccaa></sch:ccaa><sch:descriptor></sch:descriptor><sch:organismo></sch:organismo><sch:rango></sch:rango><sch:anyo1>2008</sch:anyo1><sch:anyo2>2010</sch:anyo2></sch:requestContent></sch:leyRequest></soapenv:Body></soapenv:Envelope>

1.3 Servicio Web “Consulta de Proyectos”

- Operación “proyecto”

a) Descripción funcional

Permite realizar diferentes tipos de consulta de proyectos de investigación relacionadas con Gerontología y Geria-tría en función de los parámetros de entrada.

b) Estructura de datos de Entrada

Nombre TipoproyectoRequest Objeto que contiene la consultarequestContent Los datos de consulta

A continuación se especifica requestContent:

8|9|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

9|

Nombre Tipo Valores

anyo Int Año comprendido entre el inicio y el final del proyectocentro String Nombre del centro pricipal asociado al proyectoccaa String Nombre de la comunidad autónoma: “Andalucía”descriptor String Nombre del descriptor: “Trastornos de la memoria”investigador Int Nombre de investigador del proyectoresumen Int Palabras que aparezcan en el resumendenominación String Nombre del proyectoareatematica String Nombre de alguna area temática del proyecto

c) Estructura de datos de Salida

Nombre TipoproyResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros

Nombre Tipo Descripción Valores

anyocomienzo Int Año de comienzo del proyecto 2010anyofinal Int Año de final del proyecto 2013descriptores String Descriptores del proyecto “Cuidadores; Enfermedad de Alzhe-

imer; Estrés; Programas; Demen-cia; Intervención social

financiadora String Entidad financiadora del proyecto “Ministerio de Ciencia e Innovación (PSI2009-08132)”

resumen String Investigadores asociados al proyecto “Javier López Martínez; María Márquez González; Andrés Losada Baltar; Rosa Romero Moreno; Nuria Anaya Reig; Miguel Costa Cabani-llas”

titulo String Resumen del proyecto “A través de este proyecto se pretende evaluar la eficacia de dos intervenciones para cuidadores familiares de personas con demen-cia, una de Terapia de Aceptación y Compromiso (ACT) desarrollada para cuidadores (Márquez-Gon-zález, Romero-Moreno y Losada, 2010) y otra de Terapia Cognitivo Conductual (Losada, Montorio, Izal y Márquez-González, 2006). Ambas intervenciones serán comparadas con un grupo control.”

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

10|11|

Nombre Tipo Descripción Valores

tipologia String Título del proyecto “Terapia de Aceptación y Compro-miso vs. Terapia Cognitivo-Conduc-tual para cuidadores: análisis de su eficacia en función de su perfil cognitivo-emocional”

investigadores String Investigadores asociados al proyecto “Javier López Martínez; María Már-quez González”

d) Ejemplo de consulta SOAPUI

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”xmlns:sch=”http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:proyectoRequest><sch:requestContent><sch:anyo>2010</sch:anyo><sch:centro></sch:centro><sch:ccaa></sch:ccaa><sch:descriptor></sch:descriptor><sch:investigador></sch:investigador><sch:resumen></sch:resumen><sch:denominacion></sch:denominacion><sch:areatematica></sch:areatematica></sch:requestContent></sch:proyectoRequest></soapenv:Body></soapenv:Envelope>

1.4 Servicio Web “Consulta de Bibliografía”

- Operación “biblio”

a) Descripción funcional

Permite realizar diferentes tipos de consulta de bibliografía y documentos relacionadas con Gerontología y Geria-tría en función de los parámetros de entrada.

b) Estructura de datos de Entrada

Nombre TipobiblioRequest Objeto que contiene la consultarequestContent Los datos de consulta

A continuación se especifica requestContent:

Nombre Tipo Valores

autor String Autor de la obratitulo String Título de la obradescriptor String Descriptores asociados a la obra

10|11|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

11|

Nombre Tipo Valores

revista String Nombre de la revistatipodocumento String Tipo de documentoanyoini Int Año inferior del rango temporalanyofin Int Año superior del rango temporal

c) Estructura de datos de Salida

Nombre TipobiblioResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros:

Nombre Tipo Descripción Valores

titulo String Título de la obra “El envejecer caracteriza las perspectivas demográficas de las sociedades europeas”

tituloorig String Título original de la obratituloingles String Título en inglés de la obra “Ageing characterises the demographic

perspectives of the European societies”idioma String Idioma de la obra Españolidiomasec String Idioma secundario de la obraeditor String Editor de la obrarevtitulo String Título de la revista (si proce-

de)“Anales de medicina interna”

revissn String ISSN de la revista (si procede) “1130-6882”

revurl String URL de la revista (si procede) “http://www.csic.es/publica/revistas/estu-dios_geograficos.html”

numero Int Número de la revista (si pro-cede)

210

volumen Int Volumen de la revista (si pro-cede)

54

pagina String Página “5-17”isbn String Isbn “84-9769-005-2”tipodocumento String Tipo de documento:

- Actas de congresos- Artículo de monografía- Artículo de revista- Informe- Libro- Tesis Doctoral

Informe

autores String Autores de la obra “Abellán García, Antonio; Rojo Pérez, Fer-mina”

descriptores String Descriptores de la obra “Sistema de pensiones; Protección social; Datos estadísticos”

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

12|13|

d) Ejemplo de consulta SOAPUI

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:sch=”http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:biblioRequest><sch:requestContent><sch:autor>Abellan</sch:autor><sch:titulo></sch:titulo><sch:descriptor></sch:descriptor><sch:clasificacion></sch:clasificacion><sch:revista></sch:revista><sch:tipodocumento></sch:tipodocumento><sch:anyoini></sch:anyoini><sch:anyofin></sch:anyofin></sch:requestContent></sch:biblioRequest></soapenv:Body></soapenv:Envelope>

1.5 Servicio Web “Consulta de Agenda”

- Operación “Agenda”

a) Descripción funcional

Permite realizar diferentes tipos de consulta de bibliografía y documentos relacionadas con Gerontología y Geria-tría en función de los parámetros de entrada.

b) Estructura de datos de Entrada

Nombre TipoevenRequest Objeto que contiene la consultarequestContent Los datos de consulta

A continuación se especifica requestContent:

Nombre Tipo Valores

anyo String Año en que ocurre el evento o cursocontenido String Descripción del evento o cursodescriptor String Descriptores del evento o cursolugar String Lugartipo String Tipo del evento:

- Cursos- Congresos- Becas y Premios- Ayudas y Subvenciones

organizacion String Organizador del eventotitulo Int Título del evento o cursocomunidad Int Comunidad autónoma donde ocurre el evento

12|13|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

13|

Nombre Tipo Descripción Valores

titulo String Título del evento “XI Conferencia Nacional de Educación sobre la Enfermedad de Alzheimer”

contacto String Información de contacto “http://www.alz.org/educationconference/overview.htm”

organizador String Organizador del evento “Asociación de Alzheimer (Estados Uni-dos)”

lugar String Lugar del evento “Chicago, Illinois, EE.UU.“fuente String Fuente de la noticia “IMSERSO”fechainicio String Fecha del inicio del evento 20/07/2003fechafin String Fecha de finalización del evento 23/07/2003descriptor String Desriptores del evento “Educación;Enfermedad de

Alzheimer;Demencia”

d) Ejemplo de consulta SOAPUI

http://portalmayores.es/service/pmEvenWS

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/” xmlns:sch=”http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:evenRequest><sch:requestContent><sch:anyo></sch:anyo><sch:contenido></sch:contenido><sch:descriptor></sch:descriptor><sch:lugar></sch:lugar><sch:tipo></sch:tipo><sch:organizacion>Alzheimer</sch:organizacion><sch:titulo></sch:titulo><sch:comunidad></sch:comunidad><sch:historico>TRUE</sch:historico></sch:requestContent></sch:evenRequest></soapenv:Body></soapenv:Envelope>

Nombre Tipo Valores

historico Boolean Indica si se quiere recuperar resultados históricos. Valo-res:- TRUE- FALSE

Nombre TipoevenResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros:

c) Estructura de datos de Salida

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

14|15|

Nombre Tipo Valores

titulo String “Adaptaciones Geriátricas.- Ayuntamiento de Madrid”ccaa String “Madrid (Comunidad de)”descriptor String Descriptores del evento o cursoentidad String Lugarmateria String “Ayudas”submateria String “Ayudas técnicas”

c) Estructura de datos de Salida

Nombre TipoprogResponse Lista de objetos responseContentresponseContent El objeto con los datos de salida

responseContent es un tipo de dato de salida con los siguientes parámetros:

Nombre Tipo Descripción Valores

titulo String Título del programa “Adaptaciones Geriátricas.- Ayuntamiento de Madrid”

ccaa String Comunidad Autónoma “Madrid (Comunidad de)”

descriptor String Descriptores asociados al pro-grama

“Accesibilidad;Ayudas técnicas;Viviendas adaptadas”

entidad String Entidad responsable “Ayuntamiento de Madrid. Área de Gobier-no de Empleo y Servicios a la Ciudadanía”

ambito String Ámbito del programa “Municipal”materia String Materias “Ayudas para permanecer en el propio

domicilio”submateria String Submaterias “Ayudas técnicas”

1.6 Servicio Web “Consulta de Programas”

- Operación “prog”

a) Descripción funcional

Permite realizar diferentes tipos de consulta de programas relacionadas con Gerontología y Geriatría en función de los parámetros de entrada.

b) Estructura de datos de Entrada

Nombre TipoprogRequest Objeto que contiene la consultarequestContent Los datos de consulta

A continuación se especifica requestContent:

14|15|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

15|

Nombre Tipo Descripción Valores

url String Url del programa http://www.munimadrid.es/portal/site/munimadrid/menuitem.69f5b7528325ebcc48f549f59fc08a0c/?vgnextoid=9133b24b36916110VgnVCM1000000b205a0aRCRD&amp;vgnextchannel=102f43db40317010VgnVCM100000dc0ca8c0RCRD

d) Ejemplo de consulta SOAPUI

http://portalmayores.es/service/pmProgWS<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/en-velope/” xmlns:sch=”http://portalmayores.es/service/schemas”><soapenv:Header/><soapenv:Body><sch:progRequest><sch:requestContent><sch:titulo>madrid</sch:titulo><sch:ccaa></sch:ccaa><sch:provincia></sch:provincia><sch:municipio></sch:municipio><sch:descriptor></sch:descriptor><sch:entidad></sch:entidad><sch:materia></sch:materia><sch:submateria></sch:submateria></sch:requestContent></sch:progRequest></soapenv:Body></soapenv:Envelope>

2. Ejemplo de cliente Java

A continuación adjuntamos como ejemplo el código en Java (los servicios web admiten además otras tecnologías) que permite invocar el servicio web para obtener residencias por su denominación, municipio o provincia.

2.1 Index.html

<!doctype html public “-//w3c//dtd html 4.0 transitional//en”><html><head>

<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1”><meta name=”GENERATOR” content=”Mozilla/4.61 [en] (WinNT; I) [Netscape]”><meta name=”Author” content=”Anil K. Vijendran”><title>Invocacion de PMRecWS</title>

</head><body><b><font face=”Arial, Helvetica, sans-serif”><font size=+2>WS Recursos</font></font></b><br>Este es un ejemplo de un cliente de servicios web de PM en Java<br><FORM METHOD=POST ACTION=”invocador”><TABLE BORDER=”1”>

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

Descripción de los Servicios Web de Portal Mayores

16|17|

<TR><TD>Denominacion</TD><TD><INPUT TYPE=TEXT NAME=denominacion SIZE=20></TD></TR><TR><TD>CP</TD><TD><INPUT TYPE=TEXT NAME=cp SIZE=20></TD></TR><TR><TD>Municipio</TD><TD><INPUT TYPE=TEXT NAME=municipio SIZE=20></TD></TR><TR><TD>Provincia</TD><TD><INPUT TYPE=TEXT NAME=provincia SIZE=20></TD></TR>

</TABLE><P><INPUT TYPE=SUBMIT>

</FORM></body>

</html>

2.2 Invocador.java

import java.io.IOException;import java.io.PrintWriter;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/*** @author Joaquin Siabra Nov 2010*/public class invocador extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType( “text/html;charset=UTF-8” );PrintWriter out = response.getWriter();try {out.println( “<html>” );out.println( “<head>” );out.println( “<title>Servlet invocador del Web Service PM</title>” );out.println( “</head>” );out.println( “<body>” );out.println( “<h1>Resultado</h1>” );

//creamos los objetos necesarios

es.portalmayores.service.schemas.RecursosService service = newes.portalmayores.service.schemas.RecursosService();es.portalmayores.service.schemas.Recursos port = service.getRecursosPort();es.portalmayores.service.schemas.ObjectFactory fact = newes.portalmayores.service.schemas.ObjectFactory();es.portalmayores.service.schemas.ResidenciaRequest req = fact.createResidenciaRequest();es.portalmayores.service.schemas.Type form = fact.createType();

16|17|

Descripción de los Servicios Web de Portal Mayores

Portal Mayores [http://www.portalmayores.es] Una iniciativa del IMSERSO y del CSIC © 2001

17|

//establecemos los valores del formulario

form.setDenominacion(request.getParameter( “denominacion” ));form.setCp(request.getParameter( “cp” ));form.setMunicipio(request.getParameter( “municipio” ));form.setProvincia(request.getParameter( “provincia” ));req.setRequestContent(form);

//Invocamos el servicioes.portalmayores.service.schemas.ResidenciaResponse result = port.residencia(req);

// Construimos la pagina de salidadList<es.portalmayores.service.schemas.ReturnType> lista = result.getResponseContent();if (lista == null) {

out.println( “</br>No se han encontrado” );} else {

for (es.portalmayores.service.schemas.ReturnType it : lista) {out.println( “</br>” );out.println( “Denominacion: “ + it.getDenominacion() + “</br>” );out.println( “Direccion: “ + it.getDireccion() + “</br>” );out.println( “Municipio: “ + it.getMunicipio() + “</br>” );out.println( “Codigo postal: “ + it.getCp() + “</br>” );out.println( “Comunidad Autonoma: “ + it.getCcaa() + “</br>” );out.println( “Email: “ + it.getEmail() + “</br>” );out.println( “Web: “ + it.getWeb() + “</br>” );out.println( “Telefono: “ + it.getTelefono() + “</br>” );out.println( “Fax: “ + it.getFax() + “</br>” );out.println( “Gestion: “ + it.getGestion() + “</br>” );out.println( “Titularidad: “ + it.getTitularidad() + “</br>” );out.println( “Tipologia “ + it.getTipologia() + “</br>” );

}}out.println( “</body>” );out.println( “</html>” );} catch (Exception ex) {

} finally {out.close();

}}@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {processRequest(request, response);

}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {processRequest(request, response);

}}