Compartir a través de


Generar un MDN saliente

Las canalizaciones de recepción AS2 generan una respuesta MDN (Message Disposition Notification) para un mensaje entrante. Esto lo realiza el componente de la canalización del desensamblador EDI en la canalización de recepción AS2EReceive (en respuesta a un mensaje cifrado de EDI) o el componente de canalización del desensamblador AS2 en la canalización de recepción AS2Receive (en respuesta a un mensaje cifrado que no sea EDI).

Cuándo y cómo se genera un MDN

Un MDN se genera normalmente según los encabezados AS2 en el mensaje AS2 original, del siguiente modo:

  • Se enviará un MDN si el encabezado Disposition-Notification-To está presente en el mensaje AS2.

  • Si los encabezados Disposition-Notification-To y Receipt-Delivery-Option están presentes en el mensaje, el MDN se enviará de forma asíncrona. Se enviará a la URL en el encabezado Receipt-Delivery-Option, a través de una conexión distinta del mensaje original.

  • Si el encabezado Disposition-Notification-To está presente en el mensaje pero el encabezado Receipt-Delivery-Option no lo está, se enviará el MDN de forma sincrónica a través de la misma conexión que el mensaje original.

    El desensamblador crea el encabezado AS2-From en el MDN a partir del encabezado AS2-To en el mensaje AS2 recibido y cree el encabezado AS2-To en el MDN a partir del encabezado AS2-From en el mensaje AS2 recibido.

    BizTalk Server permite invalidar esta configuración, especificando si se generará un MDN y cómo se generará en función de las propiedades del contrato AS2 de una entidad. Invalida la configuración del encabezado AS2 en el mensaje mediante la configuración de Usar contrato para validación y MDN en lugar de la propiedad de encabezado de mensaje en la pestaña contrato AS2 unidireccional del cuadro de diálogo Propiedades del contrato . Esta propiedad le permite enviar un MDN aunque el encabezado AS2 no llame a ninguno, o enviar el MDN de forma asíncrona aunque el encabezado AS2 especifique una conexión sincrónica.

    Si establece la configuración de Usar contrato para validación y MDN en lugar de la propiedad de encabezado del mensaje , los valores de la sección Solicitar MDN de la página Configuración de MDN remitente en la pestaña acuerdo AS2 unidireccional del cuadro de diálogo Propiedades del contrato se usarán para mdn, como se indica a continuación:

  • Se enviará un MDN si la propiedad Request MDN está seleccionada.

  • Si se selecciona la propiedad Request MDN (Solicitar MDN ) y la propiedad Request asincrónica MDN (Solicitar MDN asincrónica), mdN se enviará de forma asincrónica. El MDN se enviará a la dirección URL en la que se establece la propiedad Receipt-Delivery-Option (URL), a través de una conexión diferente a la del mensaje original.

  • Si la propiedad Request MDN está seleccionada, pero la propiedad Request asincrónica MDN no está seleccionada, MDN se enviará sincrónicamente a través de la misma conexión que el mensaje original.

    Si se establece la configuración del contrato de uso para la validación y MDN en lugar de la propiedad de encabezado del mensaje , la propiedad AS2-From del encabezado del mensaje se usará para generar el MDN, pero AS2-To se tomarán de las propiedades del contrato y la canalización firmará la MDN según la propiedad Request Signed MDN . Los encabezados AS2 corresponden a las propiedades de acuerdo como se muestran a continuación:

Propiedad de acuerdo Encabezado AS2 en el mensaje.
Generar MDN Disposición-Notificación-Para
Firmar MDN Signed-Receipt-Protocol
Receipt-Delivery-Option Receipt-Delivery-Option

Si se habilita un MDN, la canalización de recepción promocionará las siguientes propiedades de contexto:

  • EdiIntAS.DispositionMode

  • EdiIntAS.DispositionType

    Estas propiedades de contexto deben estar promocionadas para que el MDN se genere. Para obtener más información sobre estas propiedades de contexto, vea Propiedades de contexto AS2.

    Si los parámetros de configuración y los encabezados en el mensaje entrante son incoherentes, la canalización generará un MDN negativo.

    Si se solicita el MDN en las propiedades de acuerdo, la canalización de recepción intentará enviar un MDN incluso si se produce un error en el procesamiento AS2.

Cómo la canalización de recepción procesa un MDN generado

Si un MDN se genera de acuerdo con las reglas anteriores, la canalización de recepción AS2EDIReceive o AS2Receive procesará el MDN de la siguiente forma:

  • Realiza una copia del MDN (en formato de mensaje) y la almacena en la base de datos sin repudio, si esta opción está habilitada en las propiedades de acuerdo AS2 unidireccional.

  • Realiza un procesamiento MIME, incluida la aplicación de una firma digital, si esta opción está habilitada en las propiedades del acuerdo de AS2 unidireccional.

  • Calcula la MIC (Message Integrity Check) para la carga del mensaje AS2 y la anexa al campo de extensión Received-content-MIC del MDN. El algoritmo que se va a aplicar para el MIC viene determinado por el encabezado signed-receipt-micalg del mensaje entrante o la propiedad Algoritmo de firma en la página Configuración mdN del remitente de la pestaña de acuerdo unidireccional del cuadro de diálogo Propiedades del contrato (cuando se reemplazan las propiedades del mensaje entrante). Puede ser SHA1 o MD5. El valor del algoritmo también se incluye en el MDN.

  • Realiza entradas de correlación en la base de datos sin repudio.

  • Realiza una copia del mensaje MDN.

  • Si el MDN se va a transmitir de forma sincrónica, la canalización establece la EdiIntAS.IsAS2AsynchronousMDN propiedad en False; si es asincrónica, establece la propiedad en True.

  • Si el MDN se va a transmitir de forma sincrónica, la canalización de envío as2Send asociada al puerto de recepción bidireccional recogerá el MDN en función de la EdiIntAS.IsAS2AsynchronousMDN propiedad (establecida en False) y los tokens de correlación.

    Nota

    También puede establecer un puerto de envío que se suscribe al MDN sincrónico saliente. Para ello, establezca el filtro de puerto de envío en EdiIntAS.IsAS2MdnResponseMessage==True.

  • Si se va a transmitir el MDN de forma asíncrona, la canalización de recepción enruta el MDN en el cuadro de mensajes. Debe configurar un puerto de envío para suscribirse a MDN, estableciendo el filtro de puerto de envío en IsAS2AsynchronousMdn==True. La canalización de envío AS2Send recoge el mensaje que se basa en esta propiedad y los token de correlación. Si el puerto de envío es dinámico, enrutará el MDN que se basa en la dirección en la línea Receipt-Delivery-Notification en el encabezado del mensaje. Si el puerto de envío es estático, enrutará el mensaje en función de la propiedad Transporte URI del puerto de envío.

Reglas de generación MDN

Las siguientes reglas se aplican a la generación de MDN:

  • Cuando un remitente del mensaje solicita de forma específica una recepción firmada pero hay un error en el procesamiento de los contenidos del mensaje, el remitente del mensaje debe devolver una recepción firmada incluso si la transacción no es válida. El motivo del error en el procesamiento de los contenidos del mensaje debe establecerse en “disposition-field”.

  • Cuando la solicitud para la recepción MDN especifica de forma explícita que la recepción se va a firmar pero el receptor del mensaje original no puede satisfacer el formato de protocolo solicitado o el algoritmo MIC solicitado, se devolverá una recepción firmada o sin firmar.

  • Cuando una firma no se solicita de forma explícita, o si el acuerdo de la entidad de recepción no reconoce el parámetro de solicitud de recepción firmada, la entidad de recepción puede devolver una recepción sin firmar, sin firmar o no enviarla.

Generación de MIC

Cuando es necesario un MDN, el receptor del mensaje original genera una MIC (Message Integrity Check) y la agrega al MDN. Cuando el intercambio EDI forma parte de un tipo de contenido MIME de varias partes, la MIC debe calcularse a través del contenido de varias partes completo, incluido el intercambio EDI y los encabezados MIME. Para los mensajes sin firmar y cifrados, el MIC que se va a devolver se calcula en el encabezado MIME descifrado y el contenido. Para los mensajes sin cifrar y sin firmar, debe calcularse la MIC a través de los contenidos de mensaje sin los encabezados MIME.

Consulte también

Cómo recibe BizTalk Server los mensajes AS2