Se puede hacer referencia a una rutina de correlación desde: (a) un nodo Assign o (b) el terminal de entrada o un terminal de salida de la mayoría de tipos de nodo Invoke.
Una rutina de correlación se lleva a cabo cuando se procesa el artefacto que hace referencia a la rutina de correlación en el entorno de ejecución.
El entorno de ejecución lleva a cabo una rutina de correlación ejecutando las correlaciones de la rutina por orden, empezando por la primera (consulte la sección Rutinas de correlación).
| Tipo de nodo: | Artefacto para el cual está disponible la capacidad de correlación: |
|---|---|
Nodo Assign ![]() |
El nodo en sí. |
Nodo no de terminal Invoke![]() |
El terminal de entrada. |
| El terminal de salida. | |
| Uno o varios terminales de salida adicionales utilizados para manejar un retorno de falta o error. Está disponible cualquier número de terminales de salida adicionales. | |
Nodo de servicio Web de salida Invoke![]() |
El terminal de entrada. |
| El terminal de salida. | |
| Un terminal de salida adicional utilizado para manejar un retorno de falta o error (si se especifica). Está disponible un máximo de un terminal adicional. | |
Nodo de operación de pantalla Invoke![]() |
El terminal de entrada. |
| Cada terminal de salida. Un terminal de salida se utiliza para crear una rama a otro nodo de operación de pantalla Invoke para procesar una posible siguiente pantalla. | |
| Un terminal de salida adicional utilizado para crear la ramificación que se toma si ninguna de las posibles pantallas siguientes coincide con la pantalla visualizada actualmente. | |
Nodo de flujo Invoke![]() |
Atención: Los terminales de entrada
y salida de un nodo de flujo Invoke no tienen rutinas de correlación asociadas
a ellos. Debe utilizar un nodo a cada lado
del nodo de flujo Invoke.
|
Nodo Assign: La finalidad de un nodo Assign es servir de contenedor para las correlaciones que desea llevar a cabo en algún punto de un flujo. Cuando se añade un nodo Assign a un flujo en el editor de flujo, éste crea automáticamente una rutina de correlación vacía y la asocia al nodo Assign (consulte la sección Referencias a rutinas de correlación). Después puede añadir correlaciones a la rutina de correlación. Cuando se procesa el nodo Assign en el entorno de ejecución, se llevan a cabo las correlaciones de la rutina de correlación.
Nodo no de terminal Invoke, nodo de servicio Web de salida Invoke: Para un nodo no de terminal Invoke o un nodo de servicio Web de salida Invoke, una rutina de correlación asociada a un terminal de entrada normalmente contiene correlaciones que preparan los datos que se van a pasar a la aplicación invocada o al servicio Web de salida (consulte la sección Referencias a rutinas de correlación). Una rutina de correlación asociada a un terminal de salida normalmente contiene correlaciones que recuperan y procesan los datos devueltos por la aplicación invocada o el servicio Web de salida.
Nodo de flujo Invoke: Observe en la última fila de la tabla anterior que un nodo de flujo invoke (utilizado para invocar otro flujo) no tiene una rutina de correlación asociada a él, ni con el propio nodo ni con el terminal de entrada o un terminal de salida del nodo. Para establecer parámetros de entrada para un nodo de flujo Invoke, o para leer parámetros de salida o parámetros de falta de un nodo de flujo Invoke, debe utilizar el nodo Assign, el terminal de entrada o un terminal de salida de algún otro tipo de nodo Invoke de cualquier lado del nodo de flujo Invoke.
Nodo de operación de pantalla Invoke: En general no se debe crear ni modificar manualmente una rutina de correlación para un nodo de operación de pantalla Invoke. Normalmente los nodos de operación de pantalla Invoke y sus rutinas asociadas se crean automáticamente durante el registro de flujos. Estas rutinas de correlación contienen correlaciones que permiten que el nodo Insert genere la entrada de teclado para las pantallas de aplicación, para realizar acciones Insertar y para guardar los resultados de las acciones Extraer (consulte la sección Rutinas de correlación en flujos no de terminal).
Para un nodo Assign, las herramientas de proyecto de flujo de servicios crean la rutina de correlación y la referencia a la misma la primera vez que se intenta acceder a la rutina de correlación para el nodo (consulte la sección Crear una rutina de correlación para un nodo Assign o Invoke).
Del mismo modo, para el terminal de entrada o un terminal de salida de un nodo Invoke, las herramientas de proyecto de flujo de servicios crean la rutina de correlación y la referencia a la misma la primera vez que se intenta acceder a la rutina de correlación asociada al terminal (consulte la sección Crear una rutina de correlación para un nodo Assign o Invoke).
Además, para todos los tipos de artefactos que pueden hacer referencia a una rutina de correlación (es decir, los nodos Assign y los terminales de la mayoría de tipos de nodos Invoke) puede sustituir una referencia existente a una rutina de correlación por una referencia a cualquier otra rutina de correlación del mismo proyecto de flujo de servicio. Esto permite que puedan reutilizarse las rutinas de correlación: la misma rutina de correlación puede se referenciada por varios terminales o nodos Assign (consulte la sección Seleccionar una rutina de correlación para un nodo Invoke o Assign).
De manera similar, en el ejemplo anterior, si desea leer los valores devueltos en el mensaje de salida asociado al nodo no de terminal Invoke getUserdata, puede crear la correlación en una rutina de correlación asociada a cualquier artefacto que siga a getUserData en el flujo (siempre que el artefacto se encuentre en una secuencia de ejecución del flujo cuya ejecución esté garantizada).
| Situación: | Manera recomendada de añadir una correlación: |
|---|---|
| Desea transferir los datos a los parámetros de entrada de un nodo de flujo Invoke. |
|
| Desea transferir datos al mensaje de salida del flujo actual. | Añada un nodo Assign delante del mensaje de respuesta del flujo y efectúe la transferencia de datos en Assign. |
| Artefacto: | Ayuda: |
|---|---|
|
En el editor de flujo, el nodo Assign o terminal se resalta si se ha creado una rutina de correlación para el artefacto. |
Terminal de entrada de:
|
Cuando se crea la rutina de correlación asociada, las herramientas de proyecto de flujo de servicios almacenan automáticamente en el lado de destino una referencia al mensaje de entrada del nodo Invoke. |
Terminal de salida de:
|
Cuando se crea la rutina de correlación asociada, las herramientas de proyecto de flujo de servicios almacenan automáticamente en el lado de origen una referencia al mensaje de salida del nodo Invoke. |
| Dos nodos Invoke conectados y adyacentes (o un nodo Invoke conectado y adyacente a un nodo Receive, Reply o Throw) donde los terminales conectados de los nodos Invoke hacen referencia a correlaciones. | La entrada de menú Inicializar correlación crea un nuevo nodo Assign, lo conecta entre los dos nodos Invoke (o entre el nodo Invoke y el nodo Receive, Reply o Throw) crea una rutina de correlación para el nodo Assign e inicializa los lados origen y destino de la rutina de correlación (consulte la sección Inicializar correlación: una forma adecuada de correlacionar datos entre dos nodos). |
| Rutina de correlación | En el editor de correlaciones, la ventana Seleccionar un mensaje incluye mensajes que describen estructuras del sistema: SNA_FIELDS, SNA_TEXT_AREA, SYS_FEPI_OVERRIDES, SYS_LU_LOGON, WS_SOAPs_AREA. |