Compartir a través de


Configurar un puerto de recepción para mensajes a través de AS2

Para recibir un mensaje AS2 con una carga EDI o que no sea EDI, cree un puerto de recepción HTTP para recibir el mensaje y devolver una respuesta a la entidad.

Si el MDN se va a devolver de forma sincrónica, el puerto de recepción debe ser un puerto de recepción de solicitud-respuesta bidireccional. Una ubicación de recepción en el puerto de recepción recibirá el mensaje AS2, mientras que el puerto de envío asociado con el puerto de recepción bidireccional enviará el MDN sincrónico.

Si se devuelve el MDN de forma asíncrona, el puerto de recepción puede ser un puerto de recepción unidireccional debido a que el MDN debe devolverse mediante un puerto de envío dinámico distinto. El puerto de recepción devolverá una respuesta HTTP si se trata de un puerto unidireccional o bidireccional. Si establece un puerto de recepción bidireccional para recibir un mensaje AS2, mientras se devuelve un MDN asíncrono, se devolverá la respuesta HTTP a través del puerto de envío de la ubicación de recepción bidireccional.

Nota

El puerto de recepción bidireccional que se va a utilizar para recibir mensajes AS2 no debe utilizarse para recibir mensajes MDN. Los mensajes MDN deben recibirse en un puerto de recepción unidireccional. Un puerto de recepción de solicitud o respuesta para un MDN evitaría que un mensaje 200OK se devolviese en repuesta al MDN entrante y, por lo tanto, se producen reintentos innecesarios de la transmisión MDN.

Cree el puerto de recepción con la siguiente configuración:

Location Propiedad Parámetro
Propiedades del puerto de recepción: General Tipo de puerto Request-Response
Propiedades de ubicación de recepción: General Tipo de transporte Nota HTTP: Solo se puede usar el adaptador HTTP para transportar mensajes codificados con EDIINT/AS2. Este transporte no funcionará con un adaptador que no sea el adaptador de HTTP.
Propiedades de ubicación de recepción: General Controlador de recepción BizTalkServerIsolatedHost
Propiedades de ubicación de recepción: General Canalización de recepción - AS2EdiReceive (si la carga está codificada con EDI)
- AS2Receive (si la carga no está codificada con EDI) Nota: Al usar la canalización AS2EdiReceive, debe agregar la cuenta de usuario en la que se ejecuta el proceso de instancia de host aislado de BizTalk en el grupo Usuarios de la aplicación de BizTalk. La canalización AS2EdiReceive se ejecuta en el proceso de instancia de host aislado de BizTalk. La canalización AS2EdiReceive tiene acceso al almacén de SSO, que requiere que el usuario esté en el grupo usuarios de aplicación de BizTalk Server.
Propiedades de ubicación de recepción: General Canalización de envío AS2Send
Propiedades de transporte HTTP Directorio virtual más extensión ISAPI /<name of virtual directory>/BTSHTTPReceive.dll
Propiedades de transporte HTTP Tipo de contenido de devolución de solicitud-respuesta text/xml

Funcionalidad de la ubicación de recepción en los modos sincrónico y asíncrono

El puerto de recepción bidireccional realiza lo siguiente para recibir y procesar un mensaje EDI o AS2 y devolver una respuesta:

  • Reciba el mensaje AS2 a través de HTTP.

  • Procese el mensaje AS2 mediante la canalización de recepción AS2EDIReceive (para mensajes con codificación EDI) o la canalización de recepción AS2Receive (para mensajes que no se encuentren codificados en EDI). Para obtener más información sobre este proceso, consulte Procesamiento de un mensaje AS2 entrante.

  • Establezca las siguientes propiedades de contexto en el mensaje recibido:

    • IsAS2PayloadMessage == True (debido a que es un mensaje de carga)

    • IsEmptyMDNResponse == False (debido a que no es un MDN vacío)

  • Si el mensaje es decodificación EDI, desensamble el archivo EDI, genere los archivos XML y colóquelos en el cuadro de mensajes. Establezca la propiedad de contexto de BTS.MessageType para cada archivo XML en el nombre del esquema con espacio de nombres.

  • Si el mensaje no es de codificación EDI, coloque el mensaje en su formato original en el cuadro de mensajes.

  • Genere el archivo MDN, si está habilitado, mediante la canalización de recepción AS2EdiReceive. Para obtener más información sobre este proceso, consulte Generación de un MDN saliente. Establezca las siguientes propiedades de contexto en el mensaje:

    • EdiIntAS.IsAS2AsynchronousMdn == False (si está en modo sincrónico)

    • EdiIntAS.IsAS2AsynchronousMdn== True (si está en modo asincrónico)

  • Si se encuentra en el modo sincrónico, envíe el archivo MDN, si está habilitado, mediante la canalización de envío AS2Send. Para obtener más información sobre este proceso, vea Envío de un MDN saliente.

  • Si se encuentra en el modo asíncrono, enrute el archivo MDN, si está habilitado, en el cuadro de mensajes (para un puerto de envío dinámico distinto para recogerlo y enviarlo).

  • Si se encuentra en un modo asíncrono, genere un MDN vacío junto con el MDN completo que éste devuelve de forma asíncrona. Establezca las siguientes propiedades de contexto en el mensaje:

    • IsAS2PayloadMessage == False

    • IsEmptyMDNResponse == True

  • Si se encuentra en modo asíncrono, devuelva 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 completo no cierra la conexión sincrónica.

  • Genere un mensaje de confirmación, si está habilitado, y colóquelo en el cuadro de mensajes. Establezca la propiedad de contexto de BTS.MessageType en el esquema de control de confirmación.

Consulte también

Configuración de puertos para una solución AS2
Procesamiento de un mensaje AS2 de entrada
Generación de un MDN de salida
Envío de un MDN de salida