Compartir a través de


Tutorial (AS2): Recibir EDI a través de AS2 con un MDN sincrónico

Este tutorial proporciona un conjunto de procedimientos descritos paso a paso que crean una solución para la recepción de mensajes EDI a través del transporte AS2 y la devolución de MDN sincrónicos.

Requisitos previos

A continuación, se enumeran los requisitos previos para efectuar los procedimientos de este tema:

  • Debe haber iniciado sesión como miembro del grupo Administradores de BizTalk Server o BizTalk Server operadores B2B.

  • El equipo que ejecuta el tutorial debe tener Internet Information Services (IIS) 7 instalado.

  • Si el equipo que ejecuta el tutorial tiene instalada la versión de 64 bits de Windows, debe asegurarse de que los hosts de BizTalk están marcados como de 32 bits solamente. También debe asegurarse de que IIS tenga la opción Habilitar aplicación de 32 bits para los grupos de aplicaciones establecidos en True. Para obtener más información, vea Tutorial 3: Tutorial de AS2.

Cómo la solución recibe un mensaje EDI/AS2 y devuelve un MDN sincrónico

La solución realiza las operaciones siguientes:

  1. Recibe del socio comercial Fabrikam un mensaje AS2 que contiene un intercambio EDI a través de HTTP y descodifica el intercambio de EDIINT/AS2.

    Nota

    Puede que los eventos de esta lista no se produzcan en el orden mostrado.

  2. Devuelve un MDN sincrónico al socio comercial usando el puerto de recepción de solicitud-respuesta.

  3. Convierte el formato EDI del intercambio en el formato XML interno y lo coloca en el cuadro de mensajes.

  4. Un puerto de envío de archivo con una canalización PassThruTransmit recoge el archivo XML del mensaje.

  5. El puerto de envío envía el archivo XML de intercambio EDI a una carpeta de la entidad Contoso.

    La siguiente ilustración muestra la arquitectura de esta solución.

    AS2 que recibe con un MDN sincrónico

La funcionalidad en esta solución

Los siguientes puntos se aplican a la funcionalidad de este tutorial:

  • No se genera una confirmación EDI. La generación de una confirmación EDI se muestra en Tutorial (X12): Recepción de intercambios EDI y Devolución de confirmación. El envío de una confirmación EDI a través del transporte AS2 se describe en Tutorial (AS2): Envío de EDI a través de AS2 con un MDN sincrónico.

  • La solución está diseñada para intercambios que utilizan la codificación X12, no la codificación EDIFACT.

    Nota

    La configuración que utiliza la codificación EDIFACT es bastante parecida a la que usa la codificación X12.

  • El tipo de codificación EDI y la validación extendida se realizarán en el intercambio entrante.

  • Se habilitarán informes AS2 y EDI y se guardarán los conjuntos de transacciones para su visualización a partir del informe de estado de intercambio.

  • Esta solución no configura el almacenamiento de mensajes, el cifrado, la compresión ni la firma en la base de datos sin repudio. Para obtener procedimientos sobre cómo configurar esas propiedades, vea Configuring AS2 Properties.

Configuración y prueba del tutorial

Los procedimientos necesarios para esta solución son:

  • Generar e implementar un proyecto de BizTalk con el esquema de mensaje necesario, de modo que el esquema esté disponible para que BizTalk Server lo utilice a la hora de procesar el intercambio recibido.

  • Habilitar el filtro ISAPI de BTS que se utiliza para la recepción del mensaje AS2.

  • Crear un directorio virtual de Contoso que reciba el mensaje AS2 de Fabrikam, tal y como se configura en la ubicación de recepción.

  • Especificar que Windows SharePoint Services no administre el directorio virtual de Contoso.

  • Crear un puerto de recepción HTTP bidireccional estático para que BizTalk Server reciba el mensaje AS2 que contiene el intercambio EDI del socio comercial y enviar la respuesta MDN. Configurar la canalización de recepción para que sea la canalización AS2EDIReceive y la canalización de envío para que sea la canalización AS2Send.

  • Crear un puerto de envío de archivo unidireccional estático para enrutar la carga EDI (en formato XML) a un carpeta local. Crear la carpeta local.

  • Crear una entidad (socio comercial) para Fabrikam y Contoso.

  • Crear un perfil de negocio para cada una de las entidades comerciales.

  • Crear un acuerdo AS2 entre los perfiles de negocio de Fabrikam y Contoso. El acuerdo AS2 contendría las propiedades para enviar un mensaje AS2 y recibir un MDN sincrónico en respuesta.

  • Crear un acuerdo X12 entre los perfiles de negocio de Fabrikam y Contoso para recibir mensajes X12.

  • Probar la solución con la utilidad del remitente de HTTP que se envía como parte de los archivos del tutorial de AS2. Esta utilidad envía un mensaje AS2 de prueba que contiene un intercambio EDI a través del transporte AS2 (X12_00401_864-Sync.edi, que también se incluye con el tutorial de AS2). Debe modificar el remitente de HTTP y el mensaje de prueba de las versiones que se encuentran en el tutorial. Estos cambios se describen en las correspondientes secciones a continuación.

Configuración del tutorial

En esta sección se describen los procedimientos para configurar el tutorial.

Implementación del esquema de mensajes

  1. En Visual Studio, abra el proyecto \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial\Schemas\Schemas.btproj.

    Nota

    Este proyecto, que se envía para el tutorial de AS2, incluye un esquema 864 para que se utilice con el mensaje de prueba.

    Nota

    Este tema presupone que ya ha agregado una referencia de su aplicación a la aplicación EDI de BizTalk, que contiene esquemas, canalizaciones y orquestaciones EDI. Si no es así, vea Agregar una referencia a la aplicación EDI de BizTalk Server.

  2. Haga clic con el botón derecho en el proyecto Esquemas de la Explorador de soluciones y, a continuación, haga clic en Propiedades. Haga clic en la pestaña Firma del diseñador de proyectos, active la casilla Firmar el ensamblado y, en la lista desplegable, seleccione Nuevo y proporcione los valores necesarios para crear un archivo de clave de nombre seguro. Guarde los cambios y cierre la ventana de propiedades del proyecto.

  3. Genere e implemente Schemas.btproj.

Habilitación del filtro ISAPI de BTS

  1. Haz clic en Inicio, apunta a Todos los programas, Herramientas administrativas y haz clic en Administrador de Internet Information Services (IIS).

    Sugerencia

    Según el sistema operativo, la opción Herramientas administrativas puede no estar disponible en el menú Inicio. En tales casos, haga clic en Inicio, ejecutar y escriba inetmgr para abrir el Administrador de Internet Information Services (IIS).

  2. Seleccione la entrada del servidor web raíz y, en la vista Características, haga doble clic en Asignaciones de controladores y, a continuación, en el panel Acciones , haga clic en Agregar asignación de scripts.

    Nota

    La configuración de la asignación de script en el nivel de servidor web hará que esta asignación se aplique a todos los sitios web secundarios. Si desea restringir la asignación a un sitio web o carpeta virtual específico, seleccione el sitio o carpeta de destino en lugar del servidor web.

  3. En el cuadro de diálogo Agregar asignación de script , escriba BtsHttpReceive.dll en el campo Ruta de acceso de solicitud.

  4. En el campo Ejecutable, haga clic en el botón de puntos suspensivos (...) y vaya a \Archivos de programa (x86)\Microsoft BizTalk Server <VERSIÓN>HttpReceive. Seleccione BtsHttpReceive.dll y haga clic en Aceptar.

  5. Escriba BizTalk HTTP Receive en el campo Nombre y, a continuación, haga clic en Restricciones de solicitud.

  6. En el cuadro de diálogo Restricciones de solicitud , seleccione la pestaña Verbos y, a continuación, seleccione Uno de los verbos siguientes. Escriba POST como verbo .

  7. En la pestaña Acceso , seleccione Script y, a continuación, haga clic en Aceptar.

  8. Haga clic en Aceptar y, cuando se le pida que permita la extensión ISAPI, haga clic en .

Configuración de la página web de Contoso

  1. En el Administrador de IIS, haga clic con el botón derecho en Grupos de aplicaciones y seleccione Agregar grupo de aplicaciones.

  2. En el cuadro de diálogo Agregar grupo de aplicaciones, escriba BizTalkAppPool en Nombre y, después, seleccione .NET Framework V4.0.30210 en la lista desplegable versión de .NET Framework . Haga clic en OK.

    Nota

    El número de versión puede variar en función de la versión de .NET Framework 4.5 instalada en el equipo.

  3. Seleccione Grupos de aplicaciones, en la Vista de características, seleccione BizTalkAppPool y, a continuación, haga clic en Configuración avanzada en el panel Acciones .

  4. En el cuadro de diálogo Configuración avanzada , seleccione Identidad y, a continuación, haga clic en el botón de puntos suspensivos (...) .

  5. En el cuadro de diálogo Identidad del grupo de aplicaciones, seleccione Cuenta personalizada y, a continuación, haga clic en Establecer.

  6. Escriba el nombre de usuario y la contraseña de una cuenta de usuario que sea miembro del grupo de administradores, escriba la contraseña en Confirmar contraseña y, a continuación, haga clic en Aceptar tres veces para volver al Administrador de IIS.

  7. En el Administrador de IIS, abra la carpeta Sitios . Haga clic con el botón derecho en el nodo Sitio web predeterminado y seleccione Agregar aplicación.

  8. En el cuadro de diálogo Agregar aplicación , escriba Contoso en el cuadro de texto Alias y, a continuación, haga clic en Seleccionar.

  9. En el cuadro de diálogo Seleccionar grupo de aplicaciones , seleccione BizTalkAppPool y haga clic en Aceptar.

  10. En Ruta de acceso física, haga clic en el botón de puntos suspensivos (...) y vaya a \Archivos de programa (x86)\Microsoft BizTalk Server <VERSIÓN>HttpReceive.

  11. Haga clic en Configuración de prueba y compruebe que no se muestran errores en el cuadro de diálogo Probar conexión . Haga clic en Cerrar y después, en Aceptar.

  12. En el Administrador de IIS, seleccione el directorio virtual Contoso y, en la vista Características, haga doble clic en Autenticación.

  13. En la página Autenticación , seleccione Autenticación anónima y compruebe que el estado está habilitado. Si el estado es Deshabilitado, haga clic en Habilitar en el panel Acciones .

Especifique que el directorio virtual no está administrado por Windows SharePoint Services

  1. Si Windows SharePoint Services está instalado en el equipo, haga clic en Inicio, seleccione Todos los programas, Herramientas administrativas y, a continuación, haga clic en Administración central de SharePoint 3.0.

    Nota

    Este procedimiento es necesario si Windows SharePoint Server está instalado en el mismo equipo en el que está configurando el tutorial. En ese caso, debe especificar que Windows SharePoint Server no esté administrando su directorio virtual de ISS.

  2. En la página Administración central , en Administración central, haga clic en Administración de aplicaciones.

  3. En la página Administración de aplicaciones, haga clic en Definir rutas de acceso administradas.

  4. En la página Definir rutas de acceso administradas , en Agregar una nueva ruta de acceso y, en el cuadro de texto Ruta de acceso , escriba Contoso. En Tipo, haga clic en Ruta de acceso excluiday, a continuación, haga clic en Aceptar.

Creación de un puerto de recepción para recibir el EDI a través del mensaje AS2 y devolver un MDN

  1. En la consola de administración de BizTalk Server, haga clic con el botón derecho en el nodo Puertos de recepción en el nodo Aplicación de BizTalk 1, seleccione Nuevo y, a continuación, haga clic en Puerto de recepción solicitud-respuesta.

  2. Asigne un nombre al puerto de recepción y, a continuación, haga clic en Ubicaciones de recepción en el árbol de consola.

  3. Haga clic en Nueva.

  4. Asigne un nombre a la ubicación de recepción, seleccione HTTP para Tipo y, a continuación, haga clic en Configurar.

  5. En Directorio virtual más extensión ISAPI, escriba /Contoso/BTSHTTPReceive.dll.

  6. Active la casilla Suspender solicitudes con error y haga clic en Aceptar.

  7. En Canalización de recepción, seleccione AS2EDIReceive.

  8. En Send pipeline (Enviar canalización), seleccione AS2Send.

  9. Haga clic en Aceptar y, a continuación, haga clic en Aceptar de nuevo.

  10. En el panel Ubicaciones de recepción de la consola de administración de BizTalk Server, haga clic con el botón derecho en la ubicación de recepción y, a continuación, haga clic en Habilitar.

Creación de un puerto de envío para enviar la carga de EDI a una carpeta local

  1. En el Explorador de Windows, cree una carpeta local denominada EDI_to_Contoso para enviar la carga edi.

  2. En la consola de administración de BizTalk Server, haga clic con el botón derecho en Puertos de envío, seleccione Nuevoy, a continuación, haga clic en Puerto de envío estático One-Way.

  3. En el cuadro de diálogo Propiedades del puerto de envío, asigne un nombre al puerto de envío, por ejemplo, Send_Payload. Seleccione ARCHIVO para Tipo y, a continuación, haga clic en Configurar.

  4. En el cuadro de diálogo Propiedades de transporte de archivos , en Carpeta de destino, busque y seleccione la carpeta EDI_to_Contoso que creó en el paso 1. Deje Nombre de archivo como %MessageID%.xml. Haga clic en OK.

  5. En el menú desplegable Send Pipeline (Canalización de envío), acepte el valor predeterminado PassThruTransmit.

  6. Haga clic en Filtros en el árbol de consola. En Propiedad, escriba BTS. MessageType. En Operador, escriba ==. En Valor, escriba el tipo de mensaje para el mensaje, http://schemas.microsoft.com/BizTalk/Edi/X12/2006#X12_00401_864.

  7. Haga clic en OK.

  8. En el panel Puertos de envío de la consola de administración de BizTalk Server, haga clic con el botón derecho en el puerto de envío y, a continuación, haga clic en Iniciar.

Creación de una entidad y un perfil de negocio para Fabrikam

  1. Haga clic con el botón derecho en el nodo Partes de la consola de administración de BizTalk Server, seleccione Nuevoy, a continuación, haga clic en Parte.

  2. Escriba un nombre para la entidad en el cuadro de texto Nombre y, a continuación, haga clic en Aceptar.

    Nota

    Al seleccionar la casilla Local BizTalk procesa los mensajes recibidos por la entidad OR admite el envío de mensajes de esta entidad, puede especificar que la entidad que se va a crear sea para la misma organización que también hospeda BizTalk Server. En función de ello, algunas propiedades estarán habilitadas o deshabilitadas cuando se crea un acuerdo. Sin embargo, para este tutorial, puede dejar activada esta casilla.

  3. Haga clic con el botón derecho en el nombre de la entidad, seleccione Nuevoy, a continuación, haga clic en Perfil de negocio.

  4. En el cuadro de diálogo Propiedades del perfil , en la página General , escriba Fabrikam_Profile en el cuadro de texto Nombre .

    Nota

    Cuando se crea una entidad, también se crea un perfil. Puede cambiar el nombre y usar ese perfil en lugar de crear uno nuevo. Para cambiar el nombre de un perfil, haga clic con el botón derecho en el perfil y seleccione Propiedades. En la página General , especifique un nombre para el perfil.

Creación de una entidad y un perfil de negocio para Contoso

  1. Haga clic con el botón derecho en el nodo Partes de la consola de administración de BizTalk Server, seleccione Nuevoy, a continuación, haga clic en Parte.

  2. Escriba un nombre para la entidad en el cuadro de texto Nombre y, a continuación, haga clic en Aceptar.

    Nota

    Al seleccionar la casilla Local BizTalk procesa los mensajes recibidos por la entidad OR admite el envío de mensajes de esta entidad, puede especificar que la entidad que se va a crear sea para la misma organización que también hospeda BizTalk Server. En función de ello, algunas propiedades estarán habilitadas o deshabilitadas cuando se crea un acuerdo. Sin embargo, para este tutorial, puede dejar activada esta casilla.

  3. Haga clic con el botón derecho en el nombre de la entidad, seleccione Nuevoy, a continuación, haga clic en Perfil de negocio.

  4. En el cuadro de diálogo Propiedades del perfil , en la página General , escriba Contoso_Profile en el cuadro de texto Nombre .

    Nota

    Cuando se crea una entidad, también se crea un perfil. Puede cambiar el nombre y usar ese perfil en lugar de crear uno nuevo. Para cambiar el nombre de un perfil, haga clic con el botón derecho en el perfil y seleccione Propiedades. En la página General , especifique un nombre para el perfil.

Creación de un acuerdo AS2 entre los dos perfiles empresariales

  1. Haga clic con el botón derecho en Fabrikam_Profile, seleccione Nuevoy, a continuación, haga clic en Contrato.

  2. En la página Propiedades generales , en el cuadro de texto Nombre , escriba un nombre para el contrato.

  3. En la lista desplegable Protocolo , seleccione AS2.

  4. En la sección Second Partner (Segundo asociado ), en la lista desplegable Nombre , seleccione Contoso.

  5. En la sección Second Partner (Segundo asociado ), en la lista desplegable Perfil , seleccione Contoso_Profile.

    Observará que se agregan dos pestañas nuevas junto a la pestaña General . Cada pestaña es para configurar un contrato AS2 unidireccional.

  6. En la pestaña General , en la página Propiedades generales , en la sección Configuración común del host , seleccione Activar informes.

  7. Realice las siguientes tareas en la pestaña Fabrikam-Contoso>.

    1. En la página Identificadores , escriba los valores de AS2-From y AS2-To. En AS2-From, escriba Fabrikam. En AS2- Para, escriba Contoso.
  8. Realice las siguientes tareas en la pestaña Contoso-Fabrikam>.

    Nota

    En este tutorial, especificamos el valor necesario en la ficha para que se pueda crear un acuerdo correctamente. Para crear correctamente un contrato, ambas pestañas de contrato unidireccionales deben tener valores definidos para AS2_From y AS2-To.

    1. En la página Identificadores , escriba los valores de AS2-From y AS2-To. En AS2-From, escriba Contoso. En AS2- Para, escriba Fabrikam.
  9. Haga clic en Aplicar.

  10. Haga clic en OK. El acuerdo recién agregado aparece en la sección Acuerdos del panel Partes y perfiles empresariales . El acuerdo recién agregado está habilitado de forma predeterminada.

Creación de un contrato X12 entre los dos perfiles empresariales

  1. Haga clic con el botón derecho en Fabrikam_Profile, seleccione Nuevoy, a continuación, haga clic en Contrato.

  2. En la página Propiedades generales , en el cuadro de texto Nombre , escriba un nombre para el contrato.

  3. En la lista desplegable Protocolo , seleccione X12.

  4. En la sección Second Partner (Segundo asociado ), en la lista desplegable Nombre , seleccione Contoso.

  5. En la sección Second Partner (Segundo asociado ), en la lista desplegable Perfil , seleccione Contoso_Profile.

    Observará que se agregan dos pestañas nuevas junto a la pestaña General . Cada pestaña es para configurar un contrato X12 unidireccional.

  6. En la pestaña General , en la página Propiedades generales , en la sección Configuración de host común , seleccione Activar informes y, a continuación, seleccione Almacenar carga de mensajes para los informes.

  7. Realice las siguientes tareas en la pestaña Fabrikam-Contoso>.

    1. En la página Identificadores de la sección Configuración de intercambio, escriba valores para los campos calificador e identificador (ISA5, ISA6, ISA7 e ISA8) que corresponden a los valores de esos campos de encabezado en el mensaje de prueba.

      Nota

      BizTalk Server requiere los campos de calificador e identificador para remitente y receptor para realizar la resolución de acuerdos. Coincidirá con los valores de ISA5, ISA6, ISA7 e ISA8 en el encabezado de intercambio con los de las propiedades de un contrato. BizTalk Server también resolverá el contrato haciendo coincidir el calificador y el identificador del remitente (sin el calificador y el identificador del receptor). Si BizTalk Server no puede resolver el contrato, usará las propiedades del contrato de reserva.

      Nota

      Para este tutorial, establezca ISA5 en ZZ, ISA6 en 7654321, ISA7 en ZZ e ISA8en 1234567.

    2. En la página Validación de la sección Configuración de intercambio , asegúrese de que la opción Comprobar si hay ISA13 duplicada está desactivada.

      Nota

      Borrar la propiedad Check for duplicate ISA13 permite recibir varias instancias del mismo mensaje.

    3. Si usa uno de los esquemas estándar enviados con BizTalk Server, en la página Configuración de host local de la sección Configuración del conjunto de transacciones, seleccione el espacio de nombres del esquema que se usará para procesar el intercambio entrante.

      Use Para hacer esto
      Valor predeterminado Activar la casilla en la columna Predeterminado.
      Espacio de nombres de destino Seleccione http://schemas.microsoft.com/BizTalk/EDI/X12/2006.

      Nota

      Establecer las propiedades permite BizTalk Server determinar el esquema que se va a usar para procesar el intercambio entrante 850. Si un intercambio tiene los valores de GS02 y ST01 que se escriben en una línea de la cuadrícula, se utilizará el espacio de nombres de destino para la misma línea con el fin de determinar el esquema que se va a utilizar.

  8. Realice las siguientes tareas en la pestaña Contoso-Fabrikam>.

    Nota

    En este tutorial, especificamos el valor necesario en la ficha para que se pueda crear un acuerdo correctamente. Para crear correctamente un contrato, ambas pestañas de contrato unidireccional deben tener valores definidos para ISA5, ISA6, ISA7 e ISA8.

    1. En la página Identificadores de la sección Configuración de intercambio, escriba los valores de los campos calificador e identificador (ISA5, ISA6, ISA7 e ISA8) que corresponden a los valores de esos campos de encabezado en el mensaje de prueba.

      Nota

      Para este tutorial, establezca ISA5 en ZZ, ISA6 en 1234567, ISA7 en ZZ e ISA8 en 7654321.

  9. Haga clic en Aplicar.

  10. Haga clic en OK. El acuerdo recién agregado aparece en la sección Acuerdos del panel Partes y perfiles de negocio . El acuerdo recién agregado está habilitado de forma predeterminada.

Probar el tutorial

Esta sección proporciona información acerca de cómo probar el tutorial.

Probar la solución

  1. En Visual Studio, abra el proyecto Sender.csproj en la carpeta \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial\Sender.

  2. En HttpSender.cs, convierta en comentario la siguiente línea (inmediatamente debajo de la línea de comentario //Solicitar MDN asíncrono):

    Stream sr = new FileStream(getBizTalkInstallPath() + @"SDK\AS2 Tutorial\X12_00401_864.edi", FileMode.Open, FileAccess.Read);  
    
  3. Cancele la conversión de comentario de la línea siguiente (inmediatamente debajo de la línea de comentario //Solicitar MDN asíncrono):

    Stream sr = new FileStream(getBizTalkInstallPath() + @"SDK\AS2 Tutorial\X12_00401_864-Sync.edi", FileMode.Open, FileAccess.Read);  
    
  4. Genere este proyecto.

  5. En el Explorador de Windows, vaya al Tutorial \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2. Abra X12_00401_864-Sync.edi en el Bloc de notas. Elimine la línea que define el encabezado Disposition-Notification-Options y, a continuación, guarde el archivo.

  6. Abra el símbolo del sistema. Vaya a \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial\Sender\bin\debug. Ejecute Sender.exe.

    Nota

    La ejecución de Sender.exe en esta instancia envía el mensaje X12_00401_864-sync.edi al directorio virtual de Contoso (la ubicación de recepción de HTTP de BTS).

  7. Compruebe que se muestra un MDN en la ventana de comandos. Compruebe que en el MDN AS2-From es Contoso y AS2-To es Fabrikam.

    Nota

    Sender.exe muestra el MDN en la ventana de comandos.

  8. Abra la carpeta local contoso que cree para enviar la carga edi a (\EDI_to_Contoso). Compruebe que haya un archivo XML en la carpeta. Abra el archivo XML y compruebe que contiene un conjunto de transacciones 864.

  9. Abra el mensaje de prueba X12_00401_864-Sync.edi en el Bloc de notas y compruebe que el conjunto de transacciones del mensaje de salida de la carpeta local \EDI_to_Contoso corresponde al conjunto de transacciones del mensaje de entrada X12_00401_864-Sync.edi.

Consulte también

Desarrollo y configuración de soluciones AS2 de BizTalk Server