Compartir a través de


Tutorial (EDIFACT): Recepción de intercambios EDI y devolución de una confirmación

En este tutorial se proporciona un conjunto de procedimientos paso a paso que crean una solución para recibir intercambios EDIFACT mediante BizTalk Server. En esta solución, se envía un intercambio EDIFACT desde un socio comercial, Fabrikam, a otro, Contoso.

Requisitos previos

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

Cómo la solución recibe intercambios EDIFACT

La solución hará lo siguiente:

Nota

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

  1. Recibir un intercambio EDIFACT de archivos sin formato del socio comercial Fabrikam.

  2. Validar el intercambio EDIFACT con su esquema, desensamblar el mensaje a XML y depositar el mensaje XML en el cuadro de mensajes.

  3. Generar una confirmación TÉCNICA (recepción de mensaje) al intercambio EDI recibido y depositarla en el cuadro de mensajes.

  4. Generar una confirmación funcional (aceptación o rechazo del intercambio EDI recibido) y depositarla en el cuadro de mensajes.

  5. Recoger el mensaje XML mediante un puerto de envío de ARCHIVOS unidireccional y ensamblar el intercambio EDI.

  6. Enviar un intercambio EDI a la carpeta local de Contoso.

  7. Recoger la confirmación técnica mediante un puerto de envío de ARCHIVOS unidireccional y ensamblar el intercambio.

  8. Enviar la confirmación técnica a la carpeta local de Fabrikam.

  9. Recoger la confirmación funcional mediante un puerto de envío de ARCHIVOS unidireccional y ensamblar el intercambio.

  10. Enviar la confirmación funcional a Fabrikam.

La funcionalidad en esta solución

Por lo que respecta a este tutorial, se habilitará la siguiente funcionalidad:

  • La solución está diseñada para intercambios que usan la codificación EDIFACT

    Nota

    Para obtener instrucciones sobre cómo crear una solución similar para intercambios X12, vea Tutorial (X12): Recepción de intercambios EDI y Envío de confirmación.

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

  • Se generarán confirmaciones técnicas y funcionales para la devolución del intercambio al remitente.

  • La solución usa una ubicación de recepción unidireccional con un tipo de transporte de archivo.

    Nota

    Puede usar un puerto de recepción bidireccional de petición-respuesta y una ubicación para recibir el mensaje; no obstante, si lo hace, no podrá usar un tipo de transporte de archivo para la ubicación de recepción. Para obtener más información, consulte Configuración de un puerto para recibir mensajes y confirmaciones EDI.

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

  • Para realizar pruebas, la solución usa tres puertos de envío para enviar el intercambio EDIFACT y las confirmaciones creadas a carpetas locales.

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

    Recepción de intercambio EDIFACT y envío de un EDIFACT_Walkthrough ACK

Configuración y prueba del tutorial

Los procedimientos necesarios para esta solución son:

  • Agregar los esquemas de mensaje necesarios a un proyecto de BizTalk y, a continuación, generar e implementar el proyecto, de modo que los esquemas estén disponibles para que BizTalk Server los utilice a la hora de procesar el intercambio recibido.

  • Cree un puerto de recepción unidireccional para BizTalk Server recibir el intercambio EDIFACT del socio comercial y generar una confirmación. La ubicación de recepción está vinculada a la carpeta de archivo donde Fabrikam suelta el intercambio EDIFACT que debe enviarse a Contoso.

    Nota

    Puede usar un puerto de recepción de respuesta de solicitud bidireccional y una ubicación para recibir el mensaje, pero si lo hace, no podrá usar un tipo de transporte FILE para la ubicación de recepción.

  • Cree un puerto de envío que envíe el intercambio EDI a una carpeta local de Contoso y otro que envíe las confirmaciones técnica y funcional a una carpeta local de Fabrikam.

    Nota

    A diferencia de las confirmaciones X12, los tipos de mensajes para las confirmaciones tanto funcionales como técnicas son los mismos. Por lo tanto, el filtro de puerto de envío creado con la BTS.MessageType propiedad context filtra las confirmaciones y las entrega a la misma carpeta.

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

  • Crear un perfil de negocio para cada uno de los socios comerciales.

  • Cree un acuerdo entre los dos perfiles configurando las propiedades EDI para el mensaje que se va a recibir y la confirmación que se va a enviar.

  • Pruebe el tutorial con un intercambio de prueba EDIFACT. Para este tutorial, puede copiar y pegar lo siguiente en un archivo de texto. El esquema para este archivo es EFACT_D98A_APERAK.xld.

    UNA:+,?*'  
    UNB+UNOB:1+7654321:ZZZ+1234567:ZZZ+353501:3023+UNB5'  
    UNG+INVOIC+UNG2.1:ZZZ+UNG3.1:ZZZ+060413:2314+UNG5+UN+D:98B'  
    UNH+UNH1+APERAK:D:98A:UN++13+UNH5.1+UNH6.1+UNH7.1'  
    BGM+1+C10601'  
    DTM+10'  
    FTX+AAA++C10701+C10801'  
    CNT+1:14'  
    RFF+AAA'  
    DTM+10'  
    NAD+AA+C08201+C05801+C08001+C05901'  
    CTA++C05601'  
    COM+C07601:AA'  
    ERC+C90101'  
    FTX+AAA++C10701+C10801'  
    RFF+AAA'  
    FTX+AAA++C10701+C10801'  
    UNT+15+UNH1'  
    UNE+1+UNG5'  
    UNZ+1+UNB5'  
    

Configuración del tutorial

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

Para implementar el esquema de mensajes
  1. En Visual Studio, cree o abra un proyecto de BizTalk.

    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, seleccione Agregar y, a continuación, haga clic en Elemento existente. Vaya a la carpeta en la que se encuentra el esquema en \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDIFACT\D98A y, a continuación, haga doble clic en el esquema (EFACT_D98A_APERAK.xsd).

    Nota

    Si usa el mensaje de prueba de ejemplo proporcionado en este tema, debe usar el esquema EFACT_D98A_APERAK.xsd .

    Nota

    Si los esquemas EDI no se han descomprimido en las carpetas \XSD_Schema\EDI, ejecute el archivo MicrosoftEdiXSDTemplates.exe en la carpeta \XSD_Schema\EDI para descomprimir los esquemas en la carpeta predeterminada.

  3. Agregue el archivo de clave de ensamblado en el proyecto y, a continuación, genere e implemente el ensamblado.

Procedimiento para crear un puerto de recepción unidireccional (para Fabrikam) para recibir el intercambio EDI
  1. En el Explorador de Windows, cree una carpeta local en la que recibir el intercambio.

  2. En BizTalk Server Consola de administración, 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 unidireccional.

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

  4. Haga clic en Nueva.

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

  6. Vaya a una carpeta para el cuadro de texto Receive folder (Recibir carpeta ). Esta carpeta la creó en el paso 1 de este procedimiento. Escriba una máscara de archivo, como *.edi o *.txt.

  7. Haga clic en OK.

  8. En Canalización de recepción, seleccione EdiReceive.

  9. Haga clic en Aceptar en el cuadro de diálogo Propiedades de ubicación de recepción . Haga clic de nuevo en Aceptar en el cuadro de diálogo Propiedades del puerto de recepción .

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

Procedimiento para crear un puerto de envío estático unidireccional (para Contoso) para enviar el intercambio EDI
  1. En el Explorador de Windows, cree una carpeta local a la que enviar el intercambio de prueba.

  2. En BizTalk Server Consola de administración, haga clic con el botón derecho en el nodo Puertos de envío en el nodo Aplicación de BizTalk 1, seleccione Nuevo y, a continuación, haga clic en Puerto de envío unidireccional estático.

  3. En el cuadro de diálogo Propiedades del puerto de envío, asigne un nombre al puerto de envío.

  4. En la sección Transporte , seleccione ARCHIVO para Tipo y, a continuación, haga clic en Configurar.

  5. En Carpeta de destino, vaya a la carpeta para recibir el intercambio. Esta carpeta la creó en el paso 1 de este procedimiento. En Máscara de archivo, escriba el formato de intercambio, como *.edi o *.txt.

  6. Haga clic en OK.

  7. En Enviar canalización, seleccione EdiSend.

  8. En el árbol de consola, seleccione Filtros. Especifique un filtro al que suscribir el intercambio EDI. Por ejemplo, en Propiedad, escriba BTS. MessageType; en Operador, escriba ==; y en Valor escriba el esquema del intercambio, http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006#EFACT_D98A_APERAK.

    Nota

    La configuración de filtro anterior asegura que esos intercambios, no las confirmaciones, se enviarán a la carpeta asociada a este puerto de envío.

  9. Haga clic en OK.

  10. En el árbol de consola, haga clic en Puertos de envío. En el panel Puertos de envío, haga clic con el botón derecho en el puerto de envío y, a continuación, haga clic en Iniciar.

Procedimiento para crear un puerto de envío estático unidireccional para enviar las confirmaciones
  1. En el Explorador de Windows, cree una carpeta local a la que enviar las confirmaciones técnica y funcional.

  2. En BizTalk Server Consola de administración, haga clic con el botón derecho en el nodo Puertos de envío en el nodo Aplicación de BizTalk 1, seleccione Nuevo y, a continuación, haga clic en Puerto de envío unidireccional estático.

  3. En el cuadro de diálogo Propiedades del puerto de envío, asigne un nombre al puerto de envío.

  4. En la sección Transporte , seleccione ARCHIVO para Tipo y, a continuación, haga clic en Configurar.

  5. En Carpeta de destino, vaya a una carpeta para recibir las dos confirmaciones. Esta carpeta la creó en el paso 1 de este procedimiento. En Máscara de archivo, escriba el formato de intercambio, como *.edi o *.txt.

  6. Haga clic en OK.

  7. En Enviar canalización, seleccione EdiSend.

  8. En el árbol de consola, seleccione Filtros. Especifique un filtro al que suscribir las confirmaciones. Por ejemplo, en Propiedad, escriba BTS. MessageType; en Operador, escriba ==; y en Valor , escriba el esquema para la confirmación, http://schemas.microsoft.com/Edi/Edifact#Efact_Contrl_Root.

  9. Haga clic en OK.

  10. En el árbol de consola, haga clic en Puertos de envío. En el panel Puertos de envío, haga clic con el botón derecho en el puerto de envío y, a continuación, haga clic en Iniciar.

Para crear 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.

Para crear 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.

Para crear un acuerdo entre los dos perfiles de negocio
  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 EDIFACT.

  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 unidireccional y cada contrato unidireccional representa una transacción completa del mensaje (incluida la transferencia de mensajes y la transferencia de confirmación).

  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 (UNB2.1, UNB2.2, UNB3.1 y UNB3.2) 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 el remitente y el receptor con el fin de realizar la resolución del contrato. Coincidirá con los valores de UNB2.1, UNB2.2, UNB3.1 y UNB3.2 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

      Si usa el mensaje de ejemplo proporcionado anteriormente en este tema como mensaje de prueba, establezca UNB2.1 en 7654321, UNB2.2 en ZZZ: definido mutuamente, UNB3.1 en 1234567 y UNB3.2 en ZZZ : definido mutuamente.

    2. En la página Confirmaciones de la sección Configuración de intercambio , compruebe Recibo de mensaje (CONTRL) esperado y Confirmación (CONTRL) esperado.

    3. En la página Sobres de la sección Configuración de intercambio, active Aplicar segmento UNA (consejo de servicio de cadena) y Aplicar segmentos UNG (encabezado de grupo funcional).

    4. En la página Validación de la sección Configuración de intercambio , asegúrese de que la opción Número de control de intercambio (UNB5) esté desactivada.

      Nota

      Borrar la propiedad Número de control de intercambio (UNB5) le permite recibir varias instancias del mismo mensaje.

    5. En la página Charset and Separators (Conjuntos de caracteres y separadores ) de la sección Configuración de intercambio , seleccione la opción CR LF para sufijo UNA6.

    6. En la página Configuración de host local de la sección Configuración de intercambio , desactive la opción Route ACK to send pipeline on request-response receive port (Enrutamiento de ACK para enviar canalización al puerto de recepción de solicitud-respuesta ).

      Nota

      Si usaba un puerto de recepción bidireccional para recibir el intercambio y devolver la confirmación, comprobaría route ACK para enviar canalización en el puerto de recepción de solicitud-respuesta.

    7. En la página Puertos de envío de la sección Configuración de intercambio , asocie los puertos de envío que recibirán el intercambio desde Fabrikam y los puertos de envío que recibirán las confirmaciones de Contoso. En la cuadrícula Puertos de envío , en la columna Nombre , haga clic en una celda vacía y, en la lista desplegable, seleccione el puerto de envío creado para recibir el intercambio EDI de Fabrikam. Repita el paso del puerto de envío creado para recibir las confirmaciones técnica y funcional.

    8. En la página Validación de la sección Configuración del conjunto de transacciones , deje activada la validación de tipo EDI y active Validación de tipos extendidos.

    9. 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. Si usa un esquema personalizado, escriba valores en la cuadrícula Personalizar espacio de nombres de destino para que BizTalk Server pueda determinar el espacio de nombres mediante los valores de encabezado de grupo y conjunto de transacciones.

    10. En la página Sobres de la sección Configuración del conjunto de transacciones , escriba los valores de todas las columnas de la primera línea de la cuadrícula.

      Use Para hacer esto
      Valor predeterminado Seleccione Predeterminado.
      Para el tipo de mensaje UNH2.1 Seleccione el tipo de mensaje del mensaje de prueba, APERAK.
      UNH2.2 Escriba la versión edi, D.
      UNH2.3 Escriba el número de versión, 98A.
      UNH2.5 Puede dejarlo en blanco.
      Espacio de nombres de destino Seleccione http://schemas.microsoft.com/Edi/Edifact.
      UNG1 Especifique el identificador de grupo funcional, INVOIC.
      UNG2.1 Escriba un valor para la identificación del remitente de la aplicación.
      UNG2.1 Escriba un valor para el calificador de código remitente de la aplicación, como ZZZ.
      UNG3.1 Introduzca un valor para la identificación del receptor de la aplicación.
      UNG3.2 Escriba un valor para el calificador de código receptor de la aplicación, como ZZZ.
      UNG6 Escriba un valor para la agencia de control. Por ejemplo, UN.
      UNG7.1 Escriba el número de versión del tipo de mensaje. Por ejemplo, D.
      UNG7.2 Escriba el número de lanzamiento del tipo de mensaje. Ejemplo, 98A.
      UNG7.3 Puede dejarlo en blanco.
      UNG8 Puede dejarlo en blanco.
  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 acuerdo unidireccionales deben tener valores definidos para UNG2.1, UNG2.2, UNG3.1 y UNG3.2.

    Nota

    Aunque la confirmación forma parte de la misma transacción de mensaje, las propiedades relacionadas con cómo se debe generar la confirmación se configuran en la pestaña Contoso-Fabrikam>. Esto es necesario porque las propiedades de contexto de confirmación para los calificadores de remitente y receptor se establecen en lo contrario de los valores especificados en la pestaña Contoso-Fabrikam>. Por ejemplo, si los identificadores de remitente y receptor se establecen en 7654321 y 1234567 en la pestaña Fabrikam-Contoso>, las propiedades de contexto de remitente y receptor se establecerán en 1234567 y 7654321 en la confirmación. Normalmente, la otra pestaña de acuerdo unidireccional también tendrá los identificadores de remitente y receptor configurados respectivamente en 1234567 y 7654321. Por lo tanto, el mensaje de confirmación se resolverá en dicho acuerdo y se seleccionará la configuración de propiedades. Por lo tanto, si desea que la confirmación use separadores de elementos diferentes o si desea que la confirmación use CR LF, especifique las propiedades en la pestaña Contoso-Fabrikam>.

    Conceptualmente, las propiedades para la confirmación se seleccionarán desde cualquier ficha de acuerdo unidireccional que tenga los mismos calificadores de remitente y receptor que están configurados en las propiedades de contexto de la confirmación. No obstante, para facilitar su uso en la práctica, normalmente debe configurar esto en la otra ficha de acuerdo unidireccional del acuerdo que creó en el cual debe haberse resuelto el intercambio.

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

      Nota

      Si usa el mensaje de ejemplo proporcionado anteriormente en este tema como mensaje de prueba, establezca UNB2.1 en 1234567, UNB2.2 en ZZZ: definido mutuamente, UNB3.1 en 7654321 y UNB3.2 en ZZZ : definido mutuamente.

  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.

Probar el tutorial

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

Para probar el tutorial
  1. En el Explorador de Windows, coloque el intercambio EDI de prueba en su carpeta de recepción local.

    Nota

    Para un mensaje de prueba, puede usar el mensaje de ejemplo proporcionada anteriormente en este tema. Copie el mensaje a un archivo de texto y guarde el archivo con una extensión .txt. Si usa este mensaje, debe haber implementado el esquema EFACT_D98A_APERAK.xsd. El esquema está disponible ejecutando el archivo MicrosoftEdiXSDTemplates.exe (en la carpeta \XSD_Schema\EDI) para descomprimir los esquemas en la carpeta predeterminada. El esquema EFACT_D98A_APERAK.xsd está disponible en \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI\EDIFACT\D98A.

  2. Abra la carpeta asociada al puerto de envío para los intercambios y compruebe que ésta contiene el intercambio EDI.

  3. Abra la carpeta asociada al puerto de envío para las confirmaciones y compruebe que ésta contiene las confirmaciones técnica y funcional.

Consulte también

Desarrollo y configuración de soluciones EDI de BizTalk Server