Exponer trabajos como servicios web

www.altova.com Imprimir este apartado Subir un nivel

Inicio > 

Exponer trabajos como servicios web

Los trabajos de FlowForce Server se pueden exponer como servicios web, lo cual permite acceder a ellos mediante programación. No obstante, durante la fase de pruebas y de depuración también puede invocar estos trabajos desde un explorador web.

 

 

Para exponer un trabajo como servicio web:

1.Primero cree un trabajo nuevo o abra uno de los trabajos actuales.
2.Marque al casilla Permitir acceso a este trabajo por HTTP en la dirección URL.

 

ff-service

 

3.En el cuadro de texto escriba el nombre del servicio web.

 

En la URL de solicitud especificada FlowForce Server inicia un servicio de escucha que acepta solicitudes HTTP GET y POST. Los trabajos expuestos como servicios continúan activos mientras FlowForce Server siga ejecutándose.

 

Cuando se invoca el servicio, FlowForce Server ejecuta los pasos de ejecución del trabajo especificados y devuelve:

 

El primer archivo de resultados del último paso (si el trabajo produce un archivo de resultados) o
El resultado estándar del último paso, si no se genera ningún archivo de resultados (esto puede pasar cuando se trabaja con la salida de la línea de comandos).

 

Si el resultado es válido, se devuelve con el estado HTTP 200 y con un encabezado Content-Type configurado de acuerdo con el resultado. El encabezado Content-Type depende del resultado actual. Una asignación de datos de MapForce da como resultado text/xml si el resultado es XML o text/plain si el resultado es texto. El resultado estándar de otras funciones también se devuelve como text/plain. El resultado se devuelve como cuerpo de respuesta, sin adornos.

 

Los errores de ejecución se notifican con el estado HTTP 5xx y con un mensaje de error genérico, pero si necesita más información puede consultar el registro de FlowForce Server.

 

Si quiere consultar un ejemplo con instrucciones para configurar este tipo de trabajos, consulte el apartado Exponer un trabajo como servicio web.

 

 

Para ver todos los servicios web de FlowForce Server que están en ejecución:

Abra el explorador web y escriba esta URL en la barra de dirección:

 

http://[FlowForceServer][PuertoDelServidor]/servicio/*

 

[FlowForceServer] y [PuertoDelServidor] hacen referencia a la dirección de red y al puerto donde se está ejecutando FlowForce Server. FlowForce Server se ejecuta por defecto en http://localhost:4646 (si se accede desde el mismo equipo). El nombre y el puerto del servidor son los definidos en la página de administración (véase Definir la dirección de red y el puerto).

 

Parámetros de un servicio web

Cuando se expone un trabajo como servicio web, todos los parámetros del trabajo se convierten automáticamente en parámetros del servicio. Si un parámetro del trabajo no tiene un valor predeterminado, entonces es obligatorio suministrarlo cuando se invoque el servicio. Los parámetros opcionales toman el valor predeterminado, si su valor no se indica en la solicitud.

 

Cuando se invoca el servicio, FlowForce Server verifica los parámetros suministrados en la solicitud y los compara con los parámetros definidos en el trabajo. Si hay alguna discrepancia, FlowForce Server devuelve el estado HTTP 5xx. En este caso FlowForce Server también muestra un formulario de parámetros HTML, para las tareas de depuración y pruebas. Este formulario HTML se puede utilizar para introducir parámetros a mano en las tareas de depuración y pruebas. Por cada parámetro de tipo Secuencia, en la página aparece un botón Examinar, que puede utilizar para cargar el archivo que sea necesario como parámetro.

 

Para ver el formulario HTML de pruebas sin condiciones, suministre el parámetro integrado showform en la solicitud (con cualquier valor).

 

Por lo general, las solicitudes se pueden enviar como HTTP GET o HTTP POST (con Content-Type multipart/form-data), con la excepción de los parámetros de tipo secuencia, que solamente son compatibles con solicitudes HTTP POST.

 

Si utiliza Internet Explorer para probar trabajos de FlowForce Server expuestos como servicios web puede que necesite deshabilitar la opción Mostrar mensajes de error HTTP descriptivos en la pestaña de opciones avanzadas de IE.

 

Autenticación de servicios web

FlowForce Server usa por defecto una autenticación HTTP básica para identificar a los clientes que llaman a un servicio web. Las credenciales de usuario se comparan con los datos disponibles en la BD de usuarios de FlowForce Server (es decir, el nombre de usuario y la contraseña utilizados para iniciar sesión en la interfaz de administración web de FlowForce Server).

ff_login_04

Si quiere que un servicio web esté disponible a usuarios sin credenciales, basta con conceder el permiso Usar servicio al usuario predeterminado useranonymous (véase ¿Cómo funcionan los permisos?). A pesar de que el servicio se pueda usar de forma anónima, puede suministrar credenciales HTTP. Las credenciales se comparan con los datos disponibles en la BD de usuarios de FlowForce Server y la ejecución del servicio se atribuye al usuario autenticado en lugar de al usuario anonymous.

 

Si se aportan credenciales no válidas, la interfaz de solicitud devuelve el estado HTTP 401. Si no aportó ninguna credencial y no concedió el permiso Usar servicio al usuario anonymous para este servicio, la interfaz de solicitud también devuelve el estado HTTP 401.

 

Si se aportan credenciales válidas, pero el usuario autenticado no tiene el permiso Usar servicio para este servicio, la interfaz de solicitud devuelve un estado de error HTTP 4xx. Si intenta acceder a un servicio que no existe, también se devuelve un estado de error HTTP 4xx.

 

Además de la autenticación HTTP básica, puede configurar la autenticación con un dominio (véase Cambiar la configuración de los servicios de directorio). Una vez configurada la autenticación con dominio, los usuarios podrán acceder a los servicios web expuestos por FlowForce Server siempre y cuando aporten un nombre de usuario y una contraseña válidos del correspondiente dominio. Además, es importante saber que, en el caso de Active Directory, el nombre de usuario debe incluir el prefijo NT/ y el nombre de dominio (p. ej. NT/john.doe@my.domain.com).

ff_login_03

 

Configuración de la fila de trabajos

La ejecución del servicio tiene el mismo comportamiento que la ejecución por medio de desencadenadores y tiene las mismas limitaciones en cuanto a filas de ejecución (véase Configurar filas de trabajos).

 


© 2019 Altova GmbH