Para saber más sobre los desencadenadores en general, consulte el tema Comprender los desencadenadores.
El evento de desencadenador de servicio Web se produce cuando se reciben datos en el socket monitoreado (dirección IP y número de puerto). Los datos deben seguir la notación SOAP - codifica datos XML en el mensaje HTTP. La interfaz del servicio Web se describe con el documento WSDL. Dicho documento está disponible cada desencadenador de servicio Web.
El desencadenador de servicio Web puede proporcionar comentarios sobre el estado del trabajo de impresión, pero debe habilitarse el modo de procesamiento sincronizado. Para obtener más información, consulte la sección Comentarios sobre el estado del trabajo de impresión.
Generalmente, los programadores usan el servicio Web para integrar la impresión de etiquetas en sus propias aplicaciones. Un sistema empresarial existente ejecuta una transacción, que envía los datos al servidor NiceLabel Automation en un socket específico. Los datos enviados se envían con formato de mensaje SOAP. Los datos pueden proporcionarse en CSV, XML y otros formatos estructurados, o bien en algún formato heredado. De cualquier modo, NiceLabel Automation leerá los datos, analizará los valores utilizando los filtros y los imprimirá en etiquetas. Para obtener más información sobre el modo de analizar y extraer datos, consulte la sección Comprender los filtros.
General
Esta sección le permite configurar los parámetros generales del desencadenador de archivo.
-
Nombre: Especifica el nombre único del desencadenador. El nombre lo ayuda a distinguir los diferentes desencadenadores cuando los configura en Automation Builder y luego cuando los ejecuta en Automation Manager.
-
Descripción: Le permite describir el rol de este desencadenador. Ingrese una breve explicación acerca de lo que hace el desencadenador para ayudar a los usuarios.
Comunicación
Esta sección le permite configurar el número de puerto obligatorio y las opciones de comentarios opcionales.
-
Puerto: especifica el número de puerto que acepta datos entrantes. Utilice el número de puerto que no está en uso por otra aplicación. Si el puerto seleccionado está en uso, no podrá iniciar el desencadenador en Automation Manager. Para obtener más información sobre problemas de seguridad, consulte la sección Asegurar el acceso a sus desencadenadores.
Nota
Si su servidor tiene hospedaje múltiple habilitado (múltiples direcciones IP en una o más tarjetas de red), NiceLabel Automation responderá en el puerto definido en todas las direcciones IP.
-
Conexión segura (HTTPS): habilita una capa de transporte seguro para su mensaje HTTP y previene la intercepción de usuarios no autorizados. Para obtener más información sobre el modo de asegurar la conexión, consulte la sección Usar capa de transporte seguro (HTTPS).
-
Número máximo de llamadas concurrentes: especifica el número máximo de conexiones aceptadas. Esa cantidad de clientes simultáneos pueden enviar datos al desencadenador al mismo tiempo.
-
Datos de respuesta: define la respuesta personalizada que puede utilizarse con los métodos
ExecuteTriggerWithResponse
yExecuteTriggerAndSetVariablesWithResponse
. El contenido de los datos de respuesta dependerá de lo que se indique en el área de texto. Puede combinar valores fijos, valores variables y caracteres especiales. Para insertar (o crear) variables y caracteres especiales, haga clic en el botón de flecha que se encuentra a la derecha del área de texto. La respuesta puede contener datos binarios, como una imagen de vista previa de etiqueta y un archivo de impresión (*.PRN).
Comentarios sobre el estado
En su diseño, el desencadenador de servicio Web proporciona comentarios sobre el estado del trabajo de impresión creado. El desencadenador aceptará los datos proporcionados y los utilizará al ejecutar acciones definidas. Puede supervisar la ejecución de las acciones - el desencadenador informa estado correcto para cada evento que suceda durante la ejecución. Para habilitar informes de estado durante el proceso de impresión, active Modo de impresión sincronizada.
El desencadenador de servicio Web expone los siguientes métodos (funciones):
-
ExecuteTrigger: este método acepta los datos en el procesamiento y proporciona comentarios opcionales sobre el estado. Uno de los parámetros de entrada habilita o deshabilita los comentarios. Si habilita los informes de estado, los comentarios contendrán un ID y una descripción detallada del error. Si el ID de error es igual a 0, no hay ningún problema al crear el archivo de impresión. Si el ID de error es mayor que 0, se produjo algún error durante el proceso de impresión. La respuesta del servicio Web en este método no puede configurarse y contiene siempre el ID y la descripción del error.
-
ExecuteTriggerWithResponse: este método acepta los datos en el procesamiento y proporciona comentarios personalizados sobre el estado. La respuesta del servicio Web puede configurarse. Puede responder usando cualquier tipo de datos organizados en cualquier estructura disponible. Puede utilizar datos binarios en la respuesta.
-
ExecuteTriggerAndSetVariables: similar al descrito anteriormente, ExecuteTrigger, este servicio web expone un parámetro de entrada adicional que acepta la lista con formato de pares nombre-valor. El desencadenador analizará automáticamente la lista, extraerá valores y los guardará en las variables del mismo nombre para que usted no tenga que crear ningún filtro de extracción de datos.
-
ExecuteTriggerAndSetVariablesWithResponse: similar a ExecuteTriggerWithResponse descrito anteriormente, este servicio web expone un parámetro de entrada adicional que acepta la lista con formato de pares nombre-valor. El desencadenador analizará automáticamente la lista, extraerá valores y los guardará en las variables del mismo nombre para que usted no tenga que crear ningún filtro de extracción de datos.
Para obtener más información sobre la estructura de los mensajes que puede enviar a un método o el otro, consulte la sección WSDL más abajo.
WSDL
El Lenguaje de descripción de servicios Web (WSDL) describe el estilo de los mensajes SOAP. Puede ser Llamada de procedimiento remoto (RPC) o un estilo de documento. Elija el estilo compatible con la aplicación que brinda los datos.
El documento WSDL define los parámetros de entrada y salida del servicio Web.
Una vez que define el desencadenador del servicio Web en el puerto 12345, impleméntelo en Automation Manager e inícielo. WSDL está disponible en:
http://localhost:12345
El WSDL expone varios métodos que proporcionan datos al desencadenador. Elija el método más apropiado para lo que está tratando de lograr.
-
Los métodos cuyos nombres incluyen WithResponse permiten enviar respuestas personalizadas, como mensajes de error personalizados, vistas previas de etiquetas, archivos PDF, archivos de impresión (*.PRN) y otras opciones similares. Los métodos cuyos nombres no incluyen WithResponse en su nombre, igual proporcionarán comentarios, pero no puede personalizar la respuesta. Los comentarios contendrán mensajes de error predeterminados.
-
Los métodos que tienen SetVariables en su nombre, le permiten proporcionar una lista de variables en dos formatos predefinidos. Automation extrae valores automáticamente y los asigna a las variables apropiadas. Esto le permite ahorrar tiempo porque no es necesario que configure ningún filtro para la extracción y la asignación. Para los métodos cuyos nombres no incluyen SetVariables en su nombre, debe definir el filtro.
La interfaz del servicio Web define los siguientes métodos:
Método ExecuteTrigger
La parte principal de la definición es la siguiente:
<wsdl:message name="WebSrviTrg_ExecuteTrigger_InputMessage"> <wsdl:part name="text" type="xsd:string"/> <wsdl:part name="wait" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="WebSrviTrg_ExecuteTrigger_OutputMessage" <wsdl:part name="ExecuteTriggerResult" type="xsd:int"/ <wsdl:part name="errorText" type="xsd:string"/> </wsdl:message>
La definición incluye dos variables de entrada (debe proporcionar los valores):
-
text: El filtro en la configuración analiza esta cadena de entrada. Generalmente, la cadena de entrada está estructurada como archivo CSV o XML, lo que hace que sea fácil de analizar. También puede usar cualquier otro formato de archivo textual.
-
wait: Este es un archivo booleano que especifica dos cosas:
-
Si desea esperar la respuesta del estado del trabajo de impresión o no.
-
Si el Servicio Web debe proporcionar comentarios o no.
En caso de que sea Verdadero, use
1
. En caso de que sea Falso, use0
. Según el tipo de método que seleccione, hay una respuesta predefinida o puede enviar la respuesta personalizada. -
Existen las siguientes variables de salida opcionales (puede recibir los valores, si los solicita, configurando esperar en 1
):
-
ExecuteTriggerResult: la respuesta del entero contiene el valor 0 en caso de errores informados en el procesamiento de los datos. Contiene un entero mayor a 0 si hay errores. La aplicación que ejecuta la llamada del servicio Web a NiceLabel Automation puede utilizar la respuesta como indicador de error.
-
errorText: el valor de esta cadena contiene la respuesta del estado del trabajo de impresión si se produce un error durante el procesamiento del desencadenador.
Nota
Si se produjo algún error durante el procesamiento del desencadenador, este elemento se incluye en el mensaje de respuesta XML y su valor contiene la descripción del error. No obstante, si no se produjo ningún error, este elemento no se incluirá en la respuesta XML.
Método ExecuteTriggerWithResponse
Este método se utiliza cuando el desencadenador debe enviar la respuesta personalizada después de que completa la ejecución.
Algunos ejemplos de lo que puede enviar como respuesta personalizada: mensajes de error personalizados, vista previa de etiqueta, archivos PDF generados, archivo de secuencia de impresión (archivo de cola de impresión), archivo XML con detalles del motor de impresión más la vista previa de etiqueta (codificada como cadena Base64); las posibilidades son interminables.
La parte principal de la definición es la siguiente:
<wsdl:message name="WebSrviTrg_ExecuteTriggerWithResponse_InputMessage"> <wsdl:part name="text" type="xsd:string"/> <wsdl:part name="wait" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="WebSrviTrg_ExecuteTriggerWithResponse_OutputMessage"> <wsdl:part name="ExecuteTriggerWithResponseResult" type="xsd:int"/> <wsdl:part name="responseData" type="xsd:base64Binary"/> <wsdl:part name="errorText" type="xsd:string"/> </wsdl:message>
En el ejemplo anterior, hay dos variables de entrada (debe proporcionar los valores):
-
text: El filtro en la configuración analiza esta cadena de entrada. Generalmente, la cadena de entrada está estructurada como archivo CSV o XML, lo que hace que sea fácil de analizar. También puede usar cualquier otro formato de archivo textual.
-
wait: Este es un archivo booleano que especifica dos cosas:
-
Si desea esperar la respuesta del estado del trabajo de impresión o no.
-
Si el Servicio Web debe proporcionar comentarios o no.
En caso de que sea Verdadero, use
1
. En caso de que sea Falso, use0
. Según el tipo de método que seleccione, hay una respuesta predefinida o puede enviar la respuesta personalizada. -
Además, en el ejemplo anterior se incluyen las siguientes variables de salida opcionales.
Nota
usted recibe valores de variables de salida opcionales si los solicita al configurar el valor del campo esperar en 1
.
-
ExecuteTriggerWithResponseResult: la respuesta del entero contiene 0 si no hubo problemas durante el procesamiento de los datos. La respuesta contiene un entero mayor a 0 si hay errores. La aplicación que ejecuta la llamada del servicio Web a NiceLabel Automation puede utilizar la respuesta como indicador de error.
-
responseData: respuesta personalizada que puede definir en la configuración del desencadenador de servicio Web. La respuesta son datos codificados en base64.
-
errorText: si surge un error durante el procesamiento del desencadenador, esta cadena contiene el valor de respuesta del estado del trabajo de impresión.
Nota
Si se informa un error durante el procesamiento del desencadenador, el mensaje de respuesta XML incluye el elemento errorText. El valor de este elemento contiene la descripción del error. No obstante, si no se produjo ningún error, este elemento no se incluirá en la respuesta XML.
Método ExecuteTriggerAndSetVariables
La parte principal de la definición es la siguiente:
<wsdl:message name="WebSrviTrg_ExecuteTriggerAndSetVariables_InputMessage"> <wsdl:part name="text" type="xsd:string"/> <wsdl:part name="variableData" type="xsd:string"/> <wsdl:part name="wait" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="WebSrviTrg_ExecuteTriggerAndSetVariables_OutputMessage"> <wsdl:part name="ExecuteTriggerAndSetVariablesResult" type="xsd:int"/> <wsdl:part name="errorText" type="xsd:string"/> </wsdl:message>
En el ejemplo anterior, hay tres variables de entrada (debe proporcionar los valores):
-
text: El filtro en la configuración analiza esta cadena de entrada. Generalmente, la cadena de entrada está estructurada como archivo CSV o XML, lo que hace que sea fácil de analizar. También puede usar cualquier otro formato de archivo textual.
-
wait: Este es un archivo booleano que especifica dos cosas:
-
Si desea esperar la respuesta del estado del trabajo de impresión o no.
-
Si el Servicio Web debe proporcionar comentarios o no.
En caso de que sea Verdadero, use
1
. En caso de que sea Falso, use0
. Según el tipo de método que seleccione, hay una respuesta predefinida o puede enviar la respuesta personalizada. -
-
variableData: Es la cadena que contiene los pares nombre:valor. El desencadenador leerá todos los pares y asignará los valores provistos a las variables del desencadenador del mismo nombre. Si la variable no existe en el desencadenador, se descarta ese par nombre:valor. Cuando proporciona la lista de variables y sus valores en este método, no tiene que definir ninguna extracción de datos con los filtros. El desencadenador realizará todos los análisis.
Hay dos estructuras disponibles para el contenido variableData.
Estructura XML
El desencadenador proporciona variables dentro del elemento raíz
<Variables />
del archivo XML. El nombre de variable incluye el nombre del atributo, mientras que el valor de variable incluye el valor del elemento.<?xml version="1.0" encoding="utf-8"?> <Variables> <variable name="Variable1">Value 1</variable> <variable name="Variable2">Value 2</variable> <variable name="Variable3">Value 3</variable> </Variables>
Nota
Deberá insertar sus datos XML dentro de la sección CDATA. CDATA, es decir, datos de caracteres, es una sección del contenido del elemento que está marcado para que el analizador interprete los datos XML como datos de caracteres únicamente, no marcas. Como resultado, el desencadenador maneja todo el contenido como datos de caracteres. Por ejemplo,
<element>ABC</element>
se interpreta como<element>ABC</element>
. Cada sección CDATA comienza con la secuencia<![CDATA[
y termina con la secuencia]]>
. Para resumir, simplemente coloque sus datos XML dentro de esas secuencias.Pares nombre-valor
El desencadenador proporciona variables usando una secuencia de texto. Cada par nombre:valor viene en su propia línea. El nombre de la variable está a la izquierda del carácter de igual (=), el valor de la variable está a la derecha.
Variable1="Value 1" Variable2="Value 2" Variable3="Value 3"
Estas son las variables de salida opcionales:
Nota
Usted recibe valores de variables opcionales si los solicita al configurar el valor del campo esperar en 1
:
-
ExecuteTriggerAndSetVariablesResult: la respuesta del entero contiene 0 si no hubo problemas durante el procesamiento de los datos. Contiene un entero mayor a 0 si el procesamiento de los datos informa errores. La aplicación que ejecuta la llamada del servicio Web a NiceLabel Automation puede utilizar la respuesta como indicador de error.
-
errorText: el valor de esta cadena contiene la respuesta del estado del trabajo de impresión si se produce un error durante el procesamiento del desencadenador.
Nota
En caso de error en el procesamiento del desencadenador, este elemento se incluye en el mensaje de respuesta XML. Su valor contiene la descripción del error. No obstante, si no se produjo ningún error, este elemento no se incluirá en la respuesta XML.
Método ExecuteTriggerAndSetVariablesWithResponse
Este método se utiliza cuando el desencadenador debe enviar la respuesta personalizada después de que completa la ejecución.
Algunos ejemplos de lo que puede enviar como respuesta personalizada: mensajes de error personalizados, vista previa de etiqueta, archivos PDF generados, archivo de secuencia de impresión (archivo de cola de impresión), archivo XML con detalles del motor de impresión más la vista previa de etiqueta (codificada como cadena Base64); las posibilidades son interminables.
La parte principal de la definición es la siguiente:
<wsdl:message name="WebSrviTrg_ExecuteTriggerAndSetVariablesWithResponse_ InputMessage"> <wsdl:part name="text" type="xsd:string"/> <wsdl:part name="variableData" type="xsd:string"/> <wsdl:part name="wait" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="WebSrviTrg_ExecuteTriggerAndSetVariablesWithResponse_ OutputMessage"> <wsdl:part name="ExecuteTriggerAndSetVariablesWithResponseResult" type="xsd:int"/> <wsdl:part name="responseData" type="xsd:base64Binary"/> <wsdl:part name="errorText" type="xsd:string"/> </wsdl:message>
Hay tres variables de entrada (debe proporcionar los valores):
-
text: El filtro en la configuración analiza esta cadena de entrada. Generalmente, la cadena de entrada está estructurada como archivo CSV o XML, lo que hace que sea fácil de analizar. También puede usar cualquier otro formato de archivo textual.
-
wait: Este es un archivo booleano que especifica dos cosas:
-
Si desea esperar la respuesta del estado del trabajo de impresión o no.
-
Si el Servicio Web debe proporcionar comentarios o no.
En caso de que sea Verdadero, use
1
. En caso de que sea Falso, use0
. Según el tipo de método que seleccione, hay una respuesta predefinida o puede enviar la respuesta personalizada. -
-
variableData: Es la cadena que contiene los pares nombre:valor. El desencadenador leerá todos los pares y asignará los valores provistos a las variables del desencadenador del mismo nombre. Si la variable no existe en el desencadenador, se descarta ese par nombre:valor. Cuando proporciona la lista de variables y sus valores en este método, no tiene que definir ninguna extracción de datos con los filtros. El desencadenador realizará todos los análisis.
Hay dos estructuras disponibles para el contenido variableData.
Estructura XML
El desencadenador proporciona variables dentro del elemento raíz
<Variables />
del archivo XML. El nombre de variable incluye el nombre del atributo, mientras que el valor de variable incluye el valor del elemento.<?xml version="1.0" encoding="utf-8"?> <Variables> <variable name="Variable1">Value 1</variable> <variable name="Variable2">Value 2</variable> <variable name="Variable3">Value 3</variable> </Variables>
Nota
Deberá insertar sus datos XML dentro de la sección CDATA. CDATA, es decir, datos de caracteres, es una sección del contenido del elemento que está marcado para que el analizador interprete los datos XML como datos de caracteres únicamente, no marcas. Como resultado, el desencadenador maneja todo el contenido como datos de caracteres. Por ejemplo,
<element>ABC</element>
se interpreta como<element>ABC</element>
. Cada sección CDATA comienza con la secuencia<![CDATA[
y termina con la secuencia]]>
. Para resumir, simplemente coloque sus datos XML dentro de esas secuencias.Pares nombre-valor
El desencadenador proporciona variables usando una secuencia de texto. Cada par nombre:valor viene en su propia línea. El nombre de la variable está a la izquierda del carácter de igual (=), el valor de la variable está a la derecha.
Variable1="Value 1" Variable2="Value 2" Variable3="Value 3"
Estas son las variables de salida opcionales:
Nota
Usted recibe valores si los solicita al configurar el valor del campo esperar en 1
:
-
ExecuteTriggerAndSetVariablesWithResponseResult: la respuesta del entero contiene 0 si no hubo problemas durante el procesamiento de los datos. Contiene un entero mayor a 0 si el procesamiento de los datos informa errores. La aplicación que ejecuta la llamada del servicio Web a NiceLabel Automation puede utilizar la respuesta como indicador de error.
-
responseData: respuesta personalizada que puede definir en la configuración del desencadenador de servicio Web. La respuesta son datos codificados en base64.
-
errorText: el valor de esta cadena contiene la respuesta del estado del trabajo de impresión si se produce un error durante el procesamiento del desencadenador.
Nota
En caso de error en el procesamiento del desencadenador, este elemento se incluye en el mensaje de respuesta XML. Su valor contiene la descripción del error. No obstante, si no se produjo ningún error, este elemento no se incluirá en la respuesta XML.
Otros
Las opciones en la sección Comentarios del motor de impresión especifican los parámetros de comunicación que le permiten recibir comentarios del motor de impresión.
-
Impresión supervisada: Activa el modo de impresión sincronizada. Utilícela siempre que quiera enviar el estado del trabajo de impresión a una aplicación de terceros. Para obtener más información, consulte el tema Modo de impresión sincronizada.
Las opciones en la sección Procesamiento de datos especifican si quiere recortar los datos para que entren en la variable o ignorar las variables de las etiquetas faltantes. En forma predeterminada, notificará los errores e interrumpirá el proceso de impresión si intenta guardar valores muy largos en la variable de la etiqueta o intenta configurar valores para variables de etiquetas no existentes.
-
Ignorar exceso de contenido de variables: trunca los valores de datos que exceden la longitud de la variable tal lo definido en el diseñador de etiquetas para que se ajusten. Esta opción está en efecto cuando se configuran valores de variables en los filtros, desde los archivos de comandos y cuando se configuran valores de variables de desencadenadores para las variables de etiquetas del mismo nombre.
Ejemplo 25. Ejemplo
La variable de la etiqueta acepta 5 caracteres como máximo. Con esta opción habilitada, cualquier valor de más de cinco caracteres se trunca a los primeros cinco caracteres. Si el valor es 1234567 ignora los dígitos 6 y 7.
-
Ignorar variables de etiquetas faltantes: Al imprimir con archivos de comandos (como un archivo JOB), el proceso de impresión ignora todas las variables que están:
-
especificadas en el archivo de comandos (que usan el comando SET)
-
no definidas en la etiqueta
Lo mismo sucede si define el área de asignación en un filtro para que extraiga todos los pares nombre-valor, pero su etiqueta contiene menos variables.
Al configurar valores de variables de etiquetas no existentes, informo un error. Si esta opción está habilitada la impresión continúa.
-
Las opciones en la sección Secuencia de comandos especifican las posibilidades de las secuencias de comandos.
-
Idioma de secuencias: Selecciona el idioma de secuencias para el desencadenador. Todas las acciones Ejecutar secuencia de comandos que utiliza dentro de un solo desencadenador usan el idioma de secuencia de comandos. seleccionado.
Las opciones en la sección Guardar datos recibidos especifican los comandos disponibles para los datos recibidos por el desencadenador.
-
Guardar datos recibidos por el desencadenador en el archivo: Habilite esta opción y guarde los datos recibidos por el desencadenador. La opción Variable habilita un nombre de archivo variable. Seleccione una variable que contenga la ruta y el nombre de archivo.
-
Al guardar datos recibidos por el desencadenador en el archivo: Habilite esta opción para guardar los datos en el desencadenador sólo si se produce un error durante la ejecución de la acción. Puede activar esta opción para mantener los datos que causaron el problema listos para resolver el problema más adelante.
Nota
Asegúrese de habilitar el soporte para impresión supervisada. De lo contrario, Automation no puede detectar errores durante la ejecución. Para obtener más información, consulte el tema Modo de impresión sincronizada.
Nota
Automation guarda los datos recibidos en un archivo temporal. Este archivo temporal se elimina inmediatamente después de que se completa la ejecución del desencadenador. La variable interna
DataFileName
hace referencia a ese nombre de archivo. Para obtener más información, consulte el tema Variables internas.