Compartir a través de


Procesamiento de recepción de un mensaje EDI entrante a través de AS2

El procesamiento de recepción de un mensaje EDI a través de AS2 incluye la recepción de un mensaje AS2, el envío de un MDN, el procesamiento de la carga EDI y el envío de confirmaciones EDI (si están habilitadas).

La canalización de recepción AS2EdiReceive recibe el mensaje AS2 y desensambla la carga EDI dentro del mensaje AS2. La canalización de envío AS2EDIReceive envía un MDN devuelto como respuesta al mensaje AS2 y una confirmación de EDI en respuesta al mensaje EDI. Puede incluir estas canalizaciones en un puerto de envío HTTP de petición-respuesta bidireccional (si el MDN es sincrónico) o en un puerto de envío HTTP unidireccional y en un puerto de recepción HTTP unidireccional (si el MDN es asíncrono).

Para recibir un intercambio EDI a través de AS2, BizTalk Server llevará a cabo los pasos siguientes:

  • Procesar el mensaje AS2 recibido

  • Enviar un MDN

  • Procesamiento de la carga edi recibida

  • Enviar una confirmación EDI

Procesamiento del mensaje AS2 recibido

El descodificador AS2 en la canalización de recepción AS2EdiReceive procesa un mensaje de AS2 entrante. Lo hace mediante la InboundHTTPHeaders propiedad de contexto, que el adaptador HTTP crea a partir de los encabezados HTTP en el mensaje AS2. Estos encabezados incluyen los siguientes encabezados de AS2:

  • AS2-Para

  • AS2-De

  • AS2-Version

  • MessageID

  • OriginalMessageID (solo para MDN)

  • Disposition-Notification-To (si se ha solicitado un MDN)

  • Receipt-Delivery-Option (si se ha solicitado un MDN)

  • Signed-Receipt-MICalg (si se ha solicitado un MDN)

    El descodificador AS2 promocionará estos encabezados en el contexto del mensaje. Después realiza las operaciones siguientes:

  • Realiza la resolución de acuerdo para determinar las propiedades que se usarán para procesar el mensaje entrante. Para obtener más información, vea Resolución de acuerdos para mensajes AS2 entrantes.

  • Autentica al remitente mediante la propiedad AS2-From .

    Nota

    Para obtener más información sobre el procesamiento que realizan las canalizaciones de recepción as2 en los mensajes AS2 entrantes, consulte Procesamiento de un mensaje AS2 entrante.

Enviar un MDN

Si se ha habilitado un MDN, la canalización AS2EdiReceive genera un MDN y lo coloca en el cuadro de mensajes.

Nota

Para obtener más información sobre el procesamiento que realizan las canalizaciones de recepción AS2 en MDN salientes, vea Generar un MDN saliente.

Modo sincrónico

Si se envía un mensaje EDI a través de AS2 en modo sincrónico, BizTalk Server devolverá el MDN a través de esa conexión sincrónica y cerrará la conexión. Cuando se cierra la conexión, BizTalk Server no puede devolver una confirmación EDI (997, TA1 o CONTRL) a través de esa conexión. Las confirmaciones EDI siempre se envían de forma asíncrona a través de AS2.

La canalización AS2EDIReceive generará el MDN. Esta canalización enruta el MDN al cuadro de mensajes y, a continuación, la canalización AS2Send, que forma parte del puerto solicitud-respuesta, lo recogerá automáticamente.

Modo asincrónico

Si se envía un mensaje con codificación AS2/EDIINT I a través de transporte HTTP/HTTPS en modo asíncrono, debe crear un puerto de envío para devolver el MDN por separado. Puede configurar este puerto de envío para devolver los MDN asíncronos y las confirmaciones EDI. Si se trata de un puerto de envío dinámico, utilizará la dirección en la línea Receipt-Delivery-Notification en el encabezado del mensaje para enrutar el mensaje al socio comercial. Si es un puerto de envío estático, utilizará la dirección configurada en las propiedades del puerto. Este puerto de envío se suscribe al MDN asincrónico mediante una expresión de EdiIntAS.IsAS2AsynchronousMDN==True filtro.

En el procesamiento asíncrono, la canalización AS2EdiReceive generará una respuesta HTTP además del MDN. El puerto de recepción devuelve la respuesta HTTP al remitente original a través de la conexión HTTP entre el puerto de recepción y la entidad remitente, que cierra la conexión. Esto es necesario, ya que el MDN no cierra la conexión sincrónica.

Si BizTalk transporta un mensaje con codificación AS2/EDIINT a través de HTTP/HTTPS pero se produce un error en el procesamiento de la carga con codificación EDI, el remitente del mensaje original recibirá un MDN que indica un procesamiento AS2 correcto y una confirmación EDI que indica un error en el procesamiento de EDI. Se suspenderá la carga de codificación EDI y se registrará un error.

Procesar la carga EDI recibida

Si la opción Procesamiento por lotes de entrada para un contrato EDI se establece en Split Interchange, la canalización de recepción AS2EdiReceive asociada a la ubicación de recepción de respuesta de solicitud bidireccional analiza el mensaje EDI en un mensaje XML independiente para cada conjunto de transacciones EDI. Si la opción Procesamiento por lotes de entrada está establecida en Conservar intercambio, la canalización de recepción no analizará el mensaje EDI.

La canalización de recepción enruta los conjuntos de transacciones XML o el intercambio EDI conservado en el cuadro de mensajes de BizTalk.

Si el mensaje se va a enrutar a una aplicación del servidor, un puerto de envío recoge el mensaje XML y lo enruta a la aplicación.

Nota

Este puerto de envío puede ser de cualquier tipo.

Enviar la confirmación EDI

Si se habilitó una confirmación EDI, el desensamblador EDI en el puerto de recepción AS2EdiReceive generará las confirmaciones EDI (si están habilitadas). Las confirmaciones EDI deben enviarse mediante la canalización de envío AS2EdiSend en un puerto de envío unidireccional independiente.

Si configura un puerto de recepción de solicitud-respuesta bidireccional para los mensajes EDI/AS2 para devolver un MDN sincrónico o una respuesta HTTP (en el caso de un MDN asincrónico), se omitirá la propiedad de puerto de recepción route ACK para enviar la canalización en la propiedad de puerto de recepción de solicitud-respuesta (establecida en la página Configuración de host local del contrato EDI unidireccional en el cuadro de diálogo Propiedades del contrato de acuerdo). Incluso si se selecciona esta propiedad, la canalización de envío se devolverá un MDN sincrónico o una respuesta HTTP, no una confirmación EDI.

Para obtener más información, consulte Envío de una confirmación EDI.

Consulte también

Cómo recibe BizTalk Server los mensajes AS2