API JavaScript para acciones

Utilice la siguiente información de referencia para obtener más información sobre las API de JavaScript que están disponibles para acciones al crear las aplicaciones empresariales en el diseñador de código bajo.

La actividad Script para acciones se ha mejorado para dar soporte a solicitudes asíncronas a servidores que se identifican como recursos de aplicaciones. Las siguientes funciones de JavaScript se pueden utilizar en la actividad Script. Para ver un ejemplo de cómo se utilizan estas funciones, explore la acción StartProcess que se proporciona en el kit de herramientas de Workflow Services .

Restricción: Las siguientes funciones no se pueden utilizar en scripts de preejecución o postejecución.
Tabla 1. JavaScript funciones que se pueden utilizar en actividades de script
Función Descripción
tw.system.waitForContinueFlow() Llame a esta función para indicar que el script realiza una llamada asíncrona. Impide que la acción continúe hasta el paso siguiente en el flujo cuando se alcanza el final del script.
tw.system.continueFlow() Cuando se llama a esta función desde una devolución de llamada asíncrona, indica que la llamada asíncrona se ha completado y la acción puede continuar hasta el paso siguiente en el flujo.
tw.system.performRequest ( name, options, callback, errorcallback) Realiza una llamada asíncrona a un servidor. Debe llamar a waitForContinueFlow antes de llamar a esta función y las devoluciones de llamadas deben llamar a continueFlow.
Importante: Si no se llama a continueFlow , la acción no puede continuar hasta completarse.
La función tw.system.performRequest tiene los parámetros siguientes:
{string} name
Nombre del recurso de aplicación que identifica el servidor al que hay que llamar.
{object} options
Los detalles de la solicitud. Si el recurso de la aplicación define la propiedad, establecerlo aquí sustituye al valor de recurso de la aplicación. Se trata de las siguientes propiedades:
  • {string} path: El URL relativo, que incluye todos los parámetros de consulta. Al utilizar content-type header "application/x-www-form-urlencoded", añada los parámetros a la carga útil.
  • {string} method: El método HTTP, como "GET" (valor predeterminado), "POST", "PUT", "DELETE".
  • {object o string} payload: Los datos de carga útil que se colocarán en el cuerpo de solicitud: una carga útil de objeto se convierte en JSON, a menos que la cabecera content-type indique lo contrario. Para simular un envío de formulario de explorador, establezca content-type en "multipart/form-data" en las cabeceras, y a continuación, establezca la carga útil en un objeto del formulario. Por ejemplo:
    {
    <name>: <value>[,
    <name>: <value>]*
    }
    Donde <name> y <value> representan campos de formulario. Para enviar un archivo, &lt;value> debe ser un objeto de negocio DocumentFile, que puede proceder de la respuesta de una llamada tw.system.performRequest anterior, o como entrada de la aplicación de llamada. Para cargar el archivo en la aplicación, consulte JavaScript API que se pueden utilizar en las vistas.
  • {object} auth: Un objeto que indica el método de autenticación que se utilizará:
    • {string} protocol: El protocolo de autenticación, ya sea "OIDC" o "BASIC".
    • {string} username: Nombre de usuario para el protocolo BASIC.
    • {string} password: Contraseña para el protocolo BASIC.
  • {string} protocol: Protocolo de solicitud que se utilizará, ya sea "https" (valor predeterminado) o "http".
  • {string} hostname: Nombre de hostname.
  • {numeric} port: Número de puerto (valor predeterminado 443).
  • {string} ctxRoot: (Opcional) Una raíz de contexto (valor predeterminado "") para añadir como prefijo a la vía.
  • {object} headers: (Opcional) Cabeceras HTTP; establecer content-type afecta al manejo de la carga útil. Para simular un envío formulario de explorador, content-type debe ser multipart/form-data.
  • {numeric} timeout: (Opcional) Valor de tiempo de espera de solicitud, en milisegundos.
  • {string} keySuffix: (Opcional) Se ha añadido a la clave de grupo común que está definida en el recurso de aplicación para identificar de forma dinámica un único recurso de un conjunto de recursos.
  • {string} responseType: (Opcional) El tipo de respuesta previsto. Debe ser binary para que tw.system.performRequest maneje una respuesta binaria y devolver un objeto de negocio DocumentFile como el objeto de respuesta a la función de devolución de llamada. El objeto de negocio DocumentFile contiene un campo de URL, que una vista puede utilizar para recuperar el contenido del archivo.
  • {booleano} parseJSONResponse: (Opcional) Especifique cuál será el objeto de respuesta que se pasará a la función callback cuando la solicitud HTTP devuelva una respuesta JSON.
    • true: el objeto de respuesta es el objeto JavaScript que se crea analizando la serie JSON.
    • false: el objeto de respuesta es una serie JSON.
    • No especificado (valor predeterminado): si el valor de la cabecera content-type es application/json, la respuesta se analiza. Si el valor de content-header es más complejo, como por ejemplo application/json; charset=UTF-8, la serie JSON no se analiza.
{function} callback
Función de devolución de llamada para manejar una respuesta satisfactoria. La función tiene dos parámetros: el primero representa el objeto de respuesta y el segundo contiene información adicional como, por ejemplo, statusCode, cabeceras.
{function} errorcallback
La función de devolución de llamada de error con un único parámetro representa el objeto de error.
tw.system.log(tw.system.model.name, tw.system.model.step.name, logString) Utilice la API tw.system.log para depurar el script del lado del servidor imprimiendo registros en la consola del navegador. Los registros se imprimen en la consola del navegador si se encuentran en un servidor de reproducción o si el valor de BROWSER_LOG_LEVEL se establece en 3 o superior en el motor de aplicaciones de producción.

Mantenga los dos primeros parámetros tal cual y especifique la serie de registro en el tercer parámetro.

{string} tw.system.model.name
El nombre de la acción o la acción anidada en la que se ha definido el script actual (o en ejecución).
{string} tw.system.model.step.name
El nombre del script del lado del servidor que se está ejecutando.
{string} logString
La serie de registro específica que desea ejecutar.
tw.system.model() Acción o acción anidada en la que se ha definido el script actual (o en ejecución).
tw.system.jsonReplacer ( key, value )

Un sustituto de JSON.stringify que se utiliza para convertir objetos JavaScript en el formato JSON que necesita una acción. Debe utilizarse para una acción de persistencia de datos de aplicación después de recuperar datos del almacén de datos. Se realiza un manejo especial para listas, fechas y validationErrors.

{string} key
La clave que se está convirtiendo a una serie.
{string} value
El valor que se está convirtiendo a una serie.
tw.system.jsonReviver ( key, value )

Un resucitador de JSON-parse que se utiliza para convertir la serie JSON en objetos JavaScript que son necesarios para una acción. Se puede utilizar para una acción de persistencia de datos de aplicación después de recuperar datos del almacén de datos. Se realiza un manejo especial para listas y fechas.

{string} key
La clave que se está analizando.
{string} value
El valor que se está analizando.