Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tutorial, configurará una solución que recibe y envía mensajes codificados EDIINT/AS2 a través de un transporte HTTP.
Funcionamiento de la solución del tutorial
La solución hará lo siguiente:
Recibir un mensaje AS2 de un asociado (Fabrikam)
Devolver una respuesta MDN de forma asincrónica al asociado
Procesar la carga EDI del mensaje AS2
Devolver una confirmación 997 al socio (Fabrikam) mediante AS2.
Enrutar un archivo XML que contiene la carga del mensaje EDI a una aplicación back-end de la organización principal (Contoso).
Nota:
Esta solución no usa la firma ni el cifrado para garantizar la seguridad de los mensajes AS2.
Componentes del tutorial
Esta solución usará lo siguiente:
Un filtro ISAPI de BTS para la recepción HTTP diseñado para recibir el mensaje AS2/EDI procedente del remitente (/Contoso/BTSHTTPReceive.dll).
Una página web ASPX para simular al socio devolviendo una confirmación 997 y un 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 usa la canalización AS2EdiReceive predeterminada que contiene el descodificador AS2 y el desensamblador EDI.
Puerto de envío HTTP dinámico para devolver un MDN asincrónico (Send_Async_MDN). Este puerto de envío usa la canalización AS2Send que contiene 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 usa 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 usa 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 de la solución completada será como se muestra en la ilustración siguiente:
Los componentes del tutorial procesan el mensaje de la manera siguiente:
Usas la aplicaciónsender.exe para enviar el mensaje original EDI/AS2 del socio Fabrikam al equipo de BizTalk Server. Sender.exe envía el mensaje EDI/AS2 al directorio virtual contoso.
Nota:
Es posible que los eventos de esta lista no se produzcan en el orden mostrado.
El mensaje de prueba es X12_00401_864.edi en \Archivos de programa\Microsoft BizTalk Server 20xx\SDK\AS2 Tutorial.
El Receive_AS2 ubicación unidireccional de recepción recibe el mensaje EDI de Fabrikam, mediante la extensión ISAPI de BTSHTTPReceive.dll para recoger el archivo del directorio virtual Contoso. La canalización de recepción descodifica el mensaje AS2, desensambla el intercambio EDI y, a continuación, deposita el XML del mensaje en el Buzón de mensajes.
La canalización de recepción genera un MDN para el mensaje AS2 y, dado que el MDN se ha configurado para ser asincrónico, la canalización de recepción coloca el MDN en el MessageBox.
La canalización de recepción genera una confirmación 997 en respuesta al intercambio EDI y coloca el 997 en la MessageBox.
El puerto de envío unidireccional estático Send_Payload_EdiXml recoge la carga EDI desde el MessageBox, filtrando según la propiedad de contexto BTS.MessageType.
El puerto de envío de carga envía el archivo XML que contiene la carga EDI a la aplicación Contoso de back-end, representada por la carpeta \_EDIXMLToContoso. Este puerto de envío usa 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 de MDN devuelve el MDN a la carpeta \_MDNToFabrikam. Dado que se trata de un puerto de envío dinámico, usará la dirección de 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 MessageBox, filtrando por la propiedad de contexto BTS.MessageType.
El puerto de envío 997 usa el transporte HTTP para enviar el mensaje 997 generado por la canalización de recepción EdiReceive a la carpeta \_997ToFabrikam. El puerto de envío envía el mensaje a la página de default.aspx fabrikam mediante el URI http://localhost/Fabrikam/Default.aspx?Destination=_997ToFabrikam. A continuación, la página default.aspx envía el 997 a la carpeta \_997ToFabrikam.
Para realizar este tutorial, debe conocer lo siguiente:
Tuberías y componentes de tubería de BizTalk Server
Adaptador HTTP
Puertos y ubicaciones de recepción
Puertos de envío
En esta sección
Paso 3: Configurar una entidad y un perfil de negocio para su organización
Paso 4: Configurar un perfil de entidad y negocio para su socio comercial
Paso 10: Configurar el acuerdo de socios comerciales X12 y AS2