Orquestación PIPAutomation de acción doble

En el ejemplo DoubleAction.odx se muestra cómo implementar una orquestación para generar automáticamente respuestas para los procesos de interfaz de asociados (PIP) 0C2, 0C4, 3A2 y 3A4 de doble acción. Puede extender este proyecto de ejemplo para admitir PIP de doble acción adicionales.

Nota

Los mapas proporcionados en la carpeta de ejemplo son ejemplos. Para usarlos, debe cambiarlos en función de sus requisitos específicos.

Nota

Debe ampliar este proyecto de ejemplo para admitir solo LOS PIP de doble acción, no los PIP de una sola acción. Esta orquestación devolverá un error si lo extiende para procesar un PIP de una sola acción. Para asegurarse de que esta orquestación no procesará los PIP de una sola acción, consulte la sección Filtrado de mensajes Single-Action a continuación.

De forma predeterminada, el programa de instalación del Acelerador de Microsoft® BizTalk para RosettaNet (BTARN) instala este ejemplo en <unidad>:\Archivos de programa\Microsoft BizTalk Accelerator para RosettaNet\SDK\PIPAutomation\DoubleAction.

Este proyecto de ejemplo incluye:

  • Procedimiento almacenado (PipAutomationGetAction) para recuperar nuevos mensajes de acción para los PIP 0C2, 0C4, 3A2 y 3A4.

  • Ubicación de recepción (MessagesToLOB_Receive_Location) enlazada al procedimiento almacenado de SQL.

  • Una orquestación (DoubleAction.odx) que procesa cada PIP, genera la respuesta adecuada basada en un mapa para cada PIP y guarda la respuesta en la tabla MessagesFromLOB de la base de datos BTARNDATA. La orquestación usa el RNIFSubmit método de Microsoft.Solutions.BTARN.Shared.dll para enviar el mensaje.

  • Un archivo de enlace (DoubleActionBinding.xml) que el archivo Setup.bat usa para crear el MessagesToLOB_Receive_Port para su uso con la orquestación DoubleAction.

  • Un archivo de instalación para compilar e inicializar el ejemplo. Si BizTalk Server se ejecuta en un equipo de 32 bits, ejecute el archivo setup.bat en la <carpeta drive>:\Program Files\Microsoft BizTalk Accelerator for RosettaNet \SDK\PIPAutomation\DoubleAction. Si BizTalk Server se ejecuta en un equipo de 64 bits, ejecute setupx64.bat en la misma carpeta.

    La orquestación recibe mensajes mediante el procedimiento almacenado PipAutomationGetAction en la base de datos BTARNData (el archivo de origen es DoubleAction.sql en el directorio DoubleAction). Este procedimiento almacenado recupera los mensajes de la tabla MessagesToLOB.

    Para ampliar este proyecto de ejemplo para admitir PIP de doble acción adicionales, agregue una ruta de acceso en la orquestación para el PIP de doble acción. Esta ruta de acceso incluirá un mapa que construirá un mensaje de respuesta a un mensaje de solicitud. Por ejemplo, vea el ejemplo de mapa de respuesta 3A2 de solicitud a 3A2 y la solicitud de 3A4 al ejemplo de mapa de respuesta 3A4 [RN3].

Para generar e inicializar el ejemplo

  1. En un símbolo del sistema, busque la <carpeta drive>:\Program Files\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction.

    Nota

    Antes de ejecutar el programa de instalación, abra el archivo DoubleAction.sql (en la carpeta anterior) en el Bloc de notas. En el menú Archivo, haga clic en Guardar como. En la lista Codificación , seleccione ANSI y, a continuación, haga clic en Guardar. Seleccione para sobrescribir el archivo existente.

  2. Si el BizTalk Server se ejecuta en un equipo de 32 bits, ejecute el archivo setup.bat en la <carpeta drive>:\Program Files\Microsoft BizTalk Accelerator for RosettaNet\SDK\PIPAutomation\DoubleAction. Si la instalación de BizTalk Server se ejecuta en un equipo de 64 bits, ejecute setupx64.bat en la misma carpeta. El archivo por lotes realizará las acciones siguientes:

    • Crea un procedimiento almacenado de SQL (PipAutomationGetAction) en la base de datos BTARNDATA para recuperar el mensaje de acción de la tabla MessagesToLOB. Esto también garantiza que los registros recuperados no se vuelvan a leer.

    • Compila el proyecto de .NET HeaderHelper y registra el ensamblado en la caché global de ensamblados.

    • Crea y enlaza el puerto de recepción de BIZTALK SERVER SQL (MessagesToLOB_Receive_Port).

    • Habilita la ubicación de recepción (MessagesToLOB_Receive_Location).

    • Compila e implementa la Double-Action orquestación PIPAutomation (DoubleAction.odx).

    • Enlaza e inicia la orquestación de BizTalk Server.

      Nota

      El ejemplo muestra algunas advertencias durante la compilación. Puede omitir estas advertencias.

      Nota

      En el ejemplo se usa el nombre de host predeterminado BizTalkServerApplication al implementar el proyecto. Si desea ejecutar el ejemplo en un host diferente, deberá editar los nombres de host predeterminados que se encuentran en DoubleActionBinding.xml en <la carpeta SDK>\PIPAutomation\DoubleAction.

Para ejecutar el ejemplo Double-Action PIPAutomation

  1. Cree un contrato 3A4 en el que el rol principal sea un iniciador. Establezca el GBI de la organización principal en 123456789 y establezca el GBI para el asociado en 987654321. Esto le permite usar los ejemplos proporcionados en la carpeta SampleInstances de la carpeta LOBApplication del SDK.

  2. Con la utilidad de creación de reflejo del contrato loopback, cree un reflejo para el PIP 3A4 creado en el paso 1.

  3. Con la utilidad LOBApplication.exe SDK, envíe un mensaje de solicitud PIP 3A4. El SDK de BTARN incluye un ejemplo de entrada en la carpeta <Directorio> de instalación\SDK\LOBApplication\SampleInstances\3A4_Request.xml.

  4. Ejecute la siguiente consulta en la base de datos BTARNDATA:

    Select * from MessagesToLOB  
    
  5. Después de varios segundos, aparecen cuatro mensajes nuevos en esta tabla. Dos de ellas son señales de confirmación. Una señal es el mensaje de solicitud asincrónico 3A4. Una señal es el mensaje de respuesta asincrónico 3A4.

    Nota

    Para deshacer los cambios realizados por Setup.bat, ejecute Cleanup.bat. Debe ejecutar Cleanup.bat antes de volver a ejecutar Setup.bat.

Comentarios

La orquestación pública genera automáticamente confirmaciones (mensajes de señal ACK y NACK). La aplicación de línea de negocio (LOB) no necesita generarlas.

El formato del mensaje que se enruta a la tabla MessagesFromLOB se denomina LOBMessage. El esquema está disponible en C:\Archivos de programa\Microsoft BizTalk Accelerator for RosettaNet\SDK\RNIFSchemas\GlobalSchemas\LOBMessage.xsd. Si usa el RNIFSubmit método , no tiene que trabajar con el formato del mensaje. Solo tiene que enviar ServiceContent con la información adicional. RNIFSubmit rellena el registro en la tabla MessagesFromLOB.

Filtrado de mensajes de Single-Action

Esta orquestación solo debe recibir mensajes de doble acción. No debe extender este proyecto de ejemplo para admitir PIP de acción única. BTARN publicará errores si usa esta orquestación para procesar mensajes de acción única. Para evitar que la orquestación reciba un mensaje de acción única, cambie la línea siguiente en el procedimiento almacenado PIPAutomationGetAction:

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB  

En la línea anterior, agregue una cláusula WHERE que filtrará los mensajes de acción única. Incluya en la cláusula WHERE todos los mensajes de acción única que va a procesar. La línea debe ser la siguiente:

SELECT PIPInstanceID,DestinationPartyName,SourcePartyName,PIPCode,PIPVersion,ServiceContent FROM MessagesToLOB WHERE PIPCode NOT IN ( '0A1', '3B2', '3C3', '0C1', '0C3' )  

Consulte también

Solicitud de 3A2 al ejemplo de asignación de respuesta de 3A2
Solicitud de 3A4 al ejemplo de asignación de respuesta de 3A4
Ejemplos de orquestación