Validar XML con registro de errores

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Ejemplos de trabajos >

Validar XML con registro de errores

Este ejemplo demuestra cómo crear un trabajo que valida un archivo XML con un esquema. Si el trabajo falla por algún motivo, los detalles del error se escriben en un archivo de registro. Para la validación usaremos la función valxml-withxsd de RaptorXML Server. Recuerde que las funciones de RaptorXML Server se habilitan en FlowForce Server si está instalado RaptorXML Server y tiene asignada una licencia. Además, para la parte de registro de errores, la técnica que se utiliza en este ejemplo no depende de RaptorXML Server y se puede usar en otro tipo de trabajos.

 

El trabajo de este ejemplo se definió como un servicio web. Así se podrá desencadenar cuando se necesite con solo acceder a la URL desde un explorador. Sin embargo, si lo necesita, también puede añadir un temporizador al trabajo (o un desencadenador de sistema de archivos). Incluso puede añadir una combinación de desencadenador y servicio web al mismo trabajo. De este modo, el trabajo no solo se ejecutará en función de lo que determine el desencadenador, sino que además se ejecutará cuando se llame al servicio web.

 

Requisitos

Licencias necesarias: FlowForce Server y RaptorXML Server (o RaptorXML+XBRL Server).
FlowForce Server debe ejecutarse en la dirección y en el puerto de red preconfigurados (véase Definir la dirección de red y el puerto).
Debe tener una cuenta de usuario de FlowForce Server con permisos para uno de los contenedores (en este ejemplo se usa el contenedor /public porque está abierto automáticamente a todos los usuarios autenticados).
El trabajo de este ejemplo genera un archivo de registro cada vez que se ejecuta. Por tanto, deberá tener permiso para crear archivos en en el sistema operativo donde se ejecuta FlowForce Server (en este ejemplo los archivos se crean en el directorio C:\FlowForce).

 

Archivos de ejemplo utilizados

El archivo XML que se valida en este ejemplo está disponible en la carpeta de instalación de RaptorXML Server en esta ruta de acceso: C:\Archivos de programa\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml. Si ejecuta FlowForce Server de 32 bits en un sistema Windows de 64 bits, la ruta de acceso sería C:\Archivos de programa (x86)\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml, a no ser que instalara RaptorXML Server en otra carpeta.

 

Crear el trabajo

1.Inicie sesión en FlowForce Server y navegue hasta el contenedor donde tiene permiso para crear trabajos nuevos (en este ejemplo usamos /public).
2.Haga clic en Crear y después seleccione Crear trabajo.
3.Escriba el Nombre del trabajo (en este ejemplo ValidarArchivo) y si quiere añada una descripción.

ex-raptor-01-01

4.En la sección Pasos de ejecución haga clic en el botón add y después seleccione nuevo identificador de error/operación correcta.

ex-raptor-01-02

5.Debajo de Ejecutar con identificador de error/operación correcta haga clic en el botón add y añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

Establezca este valor:

 

/RaptorXML/valxml-withxsd

 

También encontrará esta función en cualquier contenedor que corresponda a una versión concreta de RaptorXML, p. ej. /RaptorXML/2016r2/valxml-withxsd.

Parámetros

Establezca este valor para el parámetro Archivo XML:

 

C:\Archivos de programa (x86)\Altova\RaptorXMLServer2019\examples\NanonullOrg.xml

 

fs_valxml_job

6.Debajo de la condición Cuando haya errores haga clic en el botón add y añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

/system/compute

Parámetros

Establezca este valor para el parámetro Expresión:

 

as-file(stdout(failed-step()))

 

Asignar el resultado de este paso a

Introduzca un valor que identificará de forma inequívoca el resultado de este trabajo (por ejemplo MiResultado). De este modo está declarando este valor como variable para poder usarlo en pasos sucesivos.

ex-raptor-01-04

7.Debajo del paso de ejecución anterior haga clic en el botón add y añada un paso de ejecución nuevo con esta configuración:

 

Ejecutar función

/system/filesystem/copy

Parámetros

Junto al parámetro Origen, haga clic en ff-setTo y seleccione la variable MiResultado declarada con anterioridad.

 

Junto al parámetro Destino escriba la ruta de acceso donde se debe guardar el registro (en este ejemplo C:\FlowForce\ValidarArchivo.log). Recuerde que el directorio C:\FlowForce debe existir en el servidor donde se ejecuta FlowForce Server y debe tener permiso para escribir en él.

 

Marque la casilla situada junto al parámetro Sobrescribir. El archivo de registro se genera cada vez que se ejecuta el trabajo, así que al marcar esta casilla evitamos que el trabajo falle cuando el archivo de registro ya existe.

ex-raptor-01-05

 

8.Debajo de Servicio marque la casilla Permitir acceso a este trabajo por HTTP e introduzca ValidarArchivo como nombre del servicio.
9.Debajo de Credenciales seleccione un registro de credencial actual o especifique una credencial local (véase Credenciales).
10. Haga clic en Guardar.

 

Ahora puede probar el trabajo. Si FlowForce Server se ejecuta en el host y puerto predeterminados, introduzca http://127.0.0.1:4646/service/ValidarArchivo en la barra de dirección del explorador. Si en la página Configuración modificó la configuración de host y de puerto, modifique la dirección URL del servicio según corresponda. Si para acceder al servicio web se le piden credenciales, introduzca las mismas credenciales que utilizó para iniciar sesión en FlowForce Server.

 

Si el trabajo se ejecuta correctamente (es decir, si devuelve el código de salida 0), el explorador mostrará el resultado estándar del trabajo. Por ejemplo:

 

file:///C:/Program%20Files%20(x86)/Altova/RaptorXMLServer/examples/NanonullOrg.xml: runtime="16ms" result="OK"

 

Si el trabajo no devuelve el código de salida 0 (p. ej. si se utilizó una ruta de acceso incorrecta, si hay errores de validación, etc.), el explorador mostrará el mensaje "Error en la ejecución de servidor" y el resultado se escribe en el archivo de registro C:\FlowForce\ValidarArchivo.log. Si por algún motivo no se generara el archivo de registro, compruebe el registro del trabajo en FlowForce Server e intente identificar el error (véase Ver el registro de trabajos). Es posible que, por ejemplo, la función /system/filesystem/copy fallara porque no tenga permiso para escribir en la ruta de acceso de destino, en cuyo caso no se generará el archivo de registro.

 


© 2019 Altova GmbH