Altova MapForce 2023 Enterprise Edition

Este ejemplo explica cómo puede llamar a un servicio web HTTP genérico desde MapForce para poder asignar datos de un canal RSS a un documento de Microsoft Excel. El ejemplo viene acompañado de un archivo de diseño que está en esta ruta de acceso: <Documentos>\Altova\MapForce2023\MapForceExamples\RssReader.mfd .

 

En este ejemplo la respuesta del servicio web se asigna desde el canal RSS del blog de Altova blog (https://blog.altova.com/feed). MapForce necesitará el esquema de la estructura de respuesta del servicio web para poder crear la estructura de los datos que devuelve el canal RSS. Este esquema está ubicado en esta ruta de acceso:<Documentos>\Altova\MapForce2023\MapForceExamples\rss-2-0.xsd.

 

Para llamar a un canal RSS no hace faltan parámetros de solicitud, de modo que la parte de solicitud del servicio web estará vacía. La respuesta, por su parte, se asignará a un archivo de Microsoft Excel. Por último, para poder facilitar la lectura de la fecha de publicación de cada entrada del canal RSS, en el archivo Excel las fechas tendrán el formato AAAA-MM-DD (para lo cual se usarán funciones de procesamiento de datos).

 

Por tanto, el diseño de asignación estará compuesto por tres componentes: la llamada al servicio web, el componente de destino Excel y las funciones de procesamiento de datos.

 

Paso nº1: agregar el componente de servicio web

1.Asegúrese de tener seleccionado el motor de transformación integrado BUILT-IN.

2.Seleccione el comando de menú Insertar | Función de servicio web.

3.En el grupo de opciones Definición del servicio elija la opción Manual.

4.Elija el método de solicitud GET y la URL https://blog.altova.com/feed.

5.En el grupo de opciones Respuesta haga clic en el botón Editar y busque el esquema de la respuesta del servicio web. El esquema está en esta ruta de acceso: <Documentos>\Altova\MapForce2023\MapForceExamples\rss-2-0.xsd.

mf_rss_example_01

6.Para terminar haga clic en Aceptar.

 

Llegados a este punto, el servicio web aparece en el área de asignación y podemos empezar a asignar datos desde la parte de respuesta.

mf_rss_example_02

 

Paso nº2: agregar el componente Excel de destino

1.Seleccione el comando de menú Insertar | Archivo Excel 2007+.

2.Cuando la aplicación solicite el archivo de muestra, haga clic en Omitir. El componente Excel aparece en el área de asignación.

3.Haga clic en el botón AddRemove_Selections de Hoja 1 y desactive la casilla Mostrar las hojas de cálculo por su nombre.

4.Haga clic en el botón AddRemove_Selections de Fila 1 y defina las opciones que aparecen en la imagen siguiente.

mf_rss_example_03

5.Cree conexiones entre estos elementos del cuerpo de la respuesta y estos elementos del componente Excel:

 

Cuerpo de la respuesta

Archivo Excel

channel

Worksheets

title

Worksheet Name

item

Rows

item/title

Row B (Title)

item/link

Row C (Link)

 

Llegados a este punto todavía falta un valor de entrada para Fila A (Fecha). En el siguiente paso lo añadiremos.

 

Paso nº3: agregar las funciones de procesamiento de datos

La fecha de la respuesta del canal RSS aparece en formato RFC-822 (p. ej. Mié, 20 enero 2016 14:49:35 +0000 ). El objetivo, sin embargo, es presentar la fecha en el archivo Excel en formato AAAA-MM-DD. Para conseguirlo debemos añadir las funciones substring-after y parse-date de la biblioteca de funciones core de MapForce (encontrará instrucciones al respecto en el apartado Trabajar con funciones).

 

ex_ws_rss_04

 

 

Como puede ver en la imagen anterior, la función substring-after toma el valor del nodo pubDate y devuelve solamente el texto que aparece después de ,  . El valor resultante se pasa a la función parse-date, que la analiza con la máscara [D] [Mn] [Y] y devuelve el valor como xs:date. La máscara de formato significa "día numérico del mes, seguido de un espacio, seguido de un nombre de mes en mayúsculas, seguido de un espacio, seguido del año con cuatro dígitos" (consulte la descripción de la función format-dateTime para obtener más información).

 

Por último, el valor analizado se pasa a la fila Fecha del componente Excel.

 

Paso nº4: ejecutar la asignación

Ya podemos llamar al servicio web. Haga clic en el panel Resultados para ejecutar la asignación y consultar una vista previa de los resultados generados. Si la llamada al servicio web se ejecuta correctamente, en el panel Resultados aparece la estructura de datos devuelta. Si no se ejecuta correctamente, MapForce devuelve un mensaje de error.

 

Si tiene MapForce Server (https://www.altova.com/es/mapforce/mapforce-server.html), también puede compilar la asignación en un archivo de ejecución de asignaciones (*.mfx) y ejecutarlo desde la línea de comandos o desde la API de MapForce Server en el equipo servidor donde se ejecute MapForce Server (véase Compilar asignaciones en archivos de ejecución de MapForce Server).

 

Ya hemos terminado de crear una llamada a servicio web HTTP genérico que usa un método GET para leer datos de un canal RSS. Consulte el apartado Agregar una llamada a servicio web (de tipo REST) para obtener más información sobre los servicios web genéricos.

© 2017-2023 Altova GmbH