Tutorial 3: AS2 Tutorial
En este tutorial, establezca una solución que reciba y envíe mensajes de cifrado EDIINT/AS2 a través de un transporte HTTP.
Cómo funciona la solución del tutorial
La solución hará lo siguiente:
Recibir un mensaje AS2 de un socio comercial (Fabrikam)
Devolver una respuesta MDN de forma asíncrona al socio comercial
Procesar la carga EDI del mensaje AS2
Devolver una confirmación 997 al socio comercial (Fabrikam) a través de AS2
Enrutar un archivo XML que contenga la carga del mensaje EDI a una aplicación de servidor de la organización propia (Contoso).
Nota
Esta solución no utiliza la firma o cifrado para ayudar a garantizar la seguridad de los mensajes AS2.
Componentes de tutorial
Esta solución utilizará lo siguiente:
Un filtro ISAPI de recepción HTTP bts para recibir el mensaje AS2/EDI del remitente (/Contoso/BTSHTTPReceive.dll).
Una página web ASPX para simular el asociado devolviendo una confirmación 997 y una MDN (http://localhost/Fabrikam/Default.aspx).
Un archivo de proyecto que usará para implementar un esquema 864 y otros esquemas (Schemas.btproj).
Una ubicación de recepción HTTP unidireccional para recibir el archivo EDI (Receive_AS2). Esta ubicación de recepción utiliza la canalización AS2EdiReceive que contenga el descodificador AS2 y desensamblador EDI.
Un puerto de envío HTTP dinámico para devolver un MDN asincrónico (Send_Async_MDN). Este puerto de envío utiliza la canalización AS2Send que contenga el codificador AS2.
Un puerto de envío de archivo unidireccional estático para enrutar la carga EDI en un archivo XML a una carpeta de back-end (Send_Payload_EdiXml). Este puerto de envío utiliza la canalización de envío PassThruTransmit.
Un puerto de envío HTTP unidireccional estático para devolver una confirmación 997 al asociado a través de AS2 (Send_Async_997). Este puerto de envío utiliza la canalización AS2Send que incluye el codificador AS2 pero no necesita el ensamblador EDI.
Un archivo de proyecto que usará para compilar una aplicación para enviar el archivo EDI desde el asociado de Fabrikam a BizTalk (Sender.csproj).
Flujo de mensajes
El flujo de mensajes en la solución completa será como se muestra en la siguiente figura:
Los componentes de tutorial procesan los mensajes como se muestra a continuación:
La aplicaciónsender.exe se usa para enviar el mensaje EDI/AS2 original del asociado Fabrikam al equipo BizTalk Server. Sender.exe envía el mensaje EDI/AS2 al directorio virtual de Contoso.
Nota
Puede que los eventos de esta lista no se produzcan en el orden mostrado.
El mensaje de prueba es X12_00401_864.edi en \Program Files\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial.
La ubicación de recepción unidireccional Receive_AS2 recibe el mensaje EDI de Fabrikam, mediante la extensión ISAPI de BTSHTTPReceive.dll para seleccionar el archivo del directorio virtual de Contoso. La canalización de recepción descodifica el mensaje AS2, desensambla el intercambio EDI y, a continuación, coloca el mensaje XML en el cuadro de mensajes.
La canalización de recepción genera un MDN para el mensaje AS2 y cuando se configura para que el MDN sea asíncrono, la canalización de recepción coloca el MDN en el cuadro de mensajes.
La canalización de recepción genera una confirmación 997 en respuesta al intercambio EDI y coloca esta confirmación en el cuadro de mensajes.
El Send_Payload_EdiXml puerto de envío unidireccional estático recoge la carga EDI del cuadro de mensajes, filtrando por BTS. Propiedad de contexto MessageType.
El puerto de envío de carga envía el archivo XML que contiene la carga EDI a la aplicación servidor de Contoso que se representa con la carpeta \_EDIXMLToContoso. Este puerto de envío utiliza una canalización de envío PassThruTransmit.
El Send_Async_MDN puerto de envío dinámico recoge el MDN asincrónico del cuadro de mensajes, filtrando por la propiedad de contexto EdiIntAS.IsAS2AsynchronousMdn.
El puerto de envío MDN devuelve el MDN a la carpeta \_MDNToFabrikam. Dado que se trata de un puerto de envío dinámico, usará la dirección en la línea Receipt-Delivery-Option en el encabezado del mensaje (http://localhost/Fabrikam/Default.aspx?Destination=_MDNToFabrikam) para enrutar el mensaje a la carpeta \_MDNToFabrikam.
El Send_Async_997 puerto de envío recoge el 997 del cuadro de mensajes, filtrando por bts. Propiedad de contexto MessageType.
El puerto de envío 997 utiliza transporte HTTP para enviar el mensaje 997 que genera la canalización de recepción EdiReceive en la carpeta \_997ToFabrikam. El puerto de envío envía el mensaje a la página default.aspx de Fabrikam, mediante el URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam. La página default.aspx, envía el 997 a la carpeta \_997ToFabrikam.
Para hacer este tutorial, debe tener conocimientos acerca de lo siguiente:
Componentes de canalizaciones y canalizaciones de BizTalk Server
Adaptador de HTTP
Recepción de puertos y ubicaciones
Puertos de envío
En esta sección
Paso 3: Configuración de un perfil de entidad y negocio para la organización
Paso 4: Configuración de un perfil de entidad y negocio para el socio comercial
Paso 10: Configurar el acuerdo entre socios comerciales X12 y AS2