Altova FlowForce Server 2026 Advanced Edition

Comprobar si existe una ruta de acceso

Inicio Anterior Inicio Siguiente

Este ejemplo sirve para explicar cómo crear un trabajo que nos confirmará si una ruta de acceso (de un archivo o directorio) existe en el sistema operativo. Para lograr este objetivo, utilizaremos una combinación de funciones integradas y funciones de expresión. Además, definiremos el trabajo como servicio web para que pueda desencadenarse siempre que se necesite, con solo acceder a una URL desde el explorador. La tarea tomará la ruta de acceso como argumento y devolverá una cadena que indica si la ruta dada como argumento existe en el sistema operativo en el que se ejecuta FlowForce Server.

 

Requisitos previos

Licencias necesarias: FlowForce Server

Los servicios FlowForce Web Server y FlowForce Serverdeben escuchar en la dirección de red y en el puerto configurados previamente.

Debe tener una cuenta de usuario de FlowForce Server con permiso para acceder a uno de los contenedores (por defecto, todos los usuarios que inicien sesión tienen acceso al contenedor /public que se usa para este ejemplo).

 

Para crear el trabajo

1.Inicie sesión en FlowForce Server y navegue hasta un contenedor donde tenga permisos para crear trabajos nuevos. Al igual que en los ejemplos anteriores, en este tutorial vamos a usar el contenedor /public/Examples, que puede crear, si no lo ha hecho ya, con el comando Crear | Crear Contenedor.

2.En el contenedor /public/Examples, haga clic en Crear y, luego, seleccione Crear trabajo.

3.Añada un nombre para el trabajo (en este ejemplo, «CheckPath») y, si lo desea, una descripción del mismo.

ExamplePathExists01

4.Debajo de Parámetros de entrada del trabajo haga clic en el botón add y añada el parámetro ruta de esta manera:

ExamplePathExists02

5.Añada un nuevo paso de ejecución que llame a la función builtin_function/system/shell/commandline e introduzca el comando shell que comprueba si el archivo existe. No olvide declarar el resultado de este paso tal y como muestra la imagen (en este ejemplo, lo llamamos salida:

ExamplePathExists03

En Windows, el comando shell muestra «1» cuando la ruta existe y «0» cuando no existe. Si FlowForce Server se ejecuta en un sistema Unix, ajuste el comando según corresponda. Observe que en el comando se incrustó la expresión de FlowForce {path}. Esta expresión remite al parámetro de entrada definido en el paso anterior.

6.Debajo de Pasos de ejecución haga clic en el botón add y seleccione nuevo paso Opción. Después introduzca la expresión condicional trim(content(stdout(salida))) == '1'. Esta expresión está compuesta por tres funciones anidadas: stdout, content y trim. La función stdout obtiene el resultado estándar del resultado devuelto por el paso anterior. A continuación, la función content convierte el resultado estándar en una cadena de texto. Y, por último, la función trim elimina espacios iniciales o finales, retornos de carro y saltos de línea del resultado estándar. El resultado que se obtiene se compara con «1» por medio del operador de igualdad. Si los valores coinciden, significa que la ruta de acceso existe. Si no coinciden, se entiende que la ruta de acceso no existe.

7.Ahora, debajo de la cláusula Cuando, añada un paso de ejecución tal y como puede ver en la imagen siguiente. Este paso de ejecución llama a la función builtin_function/system/compute-string para generar el valor de cadena que debe devolverse si la ruta de acceso existe. Observe que la expresión de FlowForce {path} está incrustada en el valor. Esta expresión remite al parámetro de entrada definido en el paso anterior.

ExamplePathExists04

8.Debajo de la cláusula De lo contrario, añada un paso de ejecución tal y como puede ver en la imagen siguiente. Este paso de ejecución llama a la función builtin_function/system/compute-string para generar el valor de cadena que debe devolverse cuando la ruta de acceso no existe. Observe que la expresión de FlowForce {path} está incrustada en el valor. Esta expresión remite al parámetro de entrada definido en el paso anterior.

ExamplePathExists05

9.Debajo de Resultado de la ejecución, declare el tipo devuelto como cadena.

helloworld04

10.Debajo de Servicio, marque la casilla Permitir acceso a este trabajo por HTTP e introduzca ServicioComprobaciónRuta como nombre del servicio. Para más información consulte Exponer trabajos como servicios web.

fs_ex_checkpath_07

11.Debajo de Credenciales, seleccione un registro de credenciales que ya exista o indique credenciales locales. Para más información, consulte el apartado Credenciales.

12.Haga clic en Guardar.

 

Ejecutar el trabajo

Hay varias maneras de ejecutar el trabajo:

 

Vaya a la página de inicio y haga clic en Mostrar todos los desencadenadores y servicios activos. Luego, haga clic en la URL del trabajo que aparece en la columna Información.

Introduzca http://127.0.0.1:4646/service/CheckPathService en la barra de direcciones del explorador. Tenga en cuenta que esta URL solo funciona si el servicio FlowForce Server escucha en la dirección host y el nombre de puerto predeterminados. Si su puerto y host tienen otra configuración vaya a la página Configuración y cambie la dirección según corresponda.

Si define el campo opcional nombre de host de FlowForce Server en la página Configuración, puede ejecutar la llamada al servicio web directamente desde la página Configuración del trabajo, haciendo clic en el botón fs_ic_call_ws adyacente a la casilla de verificación Permitir acceso a este trabajo por HTTP. De lo contrario, el botón no aparece.

 

Si se le piden credenciales al acceder al servicio web, use las mismas credenciales que utiliza para iniciar sesión en FlowForce Server.

 

Importante

Recomendamos usar las credenciales de FlowForce Server para la autenticación HTTP solo en casos de prueba. Para producción, es mejor crear un usuario nuevo, darle el permiso Servicio - Uso en el contenedor en el que está el trabajo y después acceder al servicio web con esa cuenta de usuario. Para desactivar la autenticación HTTP y hacer público el servicio web, debe conceder el permiso Servicio - Uso al usuario Anónimo. Para más detalles, consulte el apartado ¿Cómo funcionan los permisos?.

 

Como este trabajo tiene argumentos, el explorador los solicitará antes de otorgar acceso al servicio web.

ExamplePathExists06

Si el trabajo se ejecuta correctamente, en el explorador aparece el resultado, por ejemplo:

 

La ruta de acceso C:\ existe.

 

Si el trabajo da error, en el explorador aparece el mensaje «Error al ejecutar el servicio». Si esto ocurre, consulte el registro del trabajo en FlowForce Server para identificar el error y resolverlo (consulte Ver el registro de trabajos).

© 2020-2026 Altova GmbH