AS2 a través de archivo (ejemplo de BizTalk Server)
El ejemplo AS2 a través de archivo muestra cómo recibir mensajes AS2 a través de una ubicación de recepción de archivo. Esto le permite usar un adaptador de archivo para recibir el mensaje AS2, en lugar de un adaptador de HTTP, que es el que se utiliza normalmente. Para ello, esta solución escribe los encabezados HTTP en el mensaje AS2 en la propiedad de contexto InboundHTTPHeaders, según requiere el descodificador AS2.
Descripción del ejemplo
Este ejemplo muestra cómo procesar los encabezados HTTP en un mensaje AS2 sin disponer de un adaptador de HTTP. En concreto, este ejemplo realiza lo siguiente:
Cuando coloca el mensaje de prueba en una carpeta de entrada, la ubicación de recepción de archivo lo recoge.
El componente de canalización personalizado en la canalización de recepción AS2 personalizada procesa el mensaje, que escribe los encabezados en la propiedad de contexto InboundHTTPHeaders.
Nota
Si se produce un error en el procesamiento del mensaje de nivel inferior del componente de canalización personalizada, puede que tenga dificultades al reanudar el procesamiento del mensaje debido a que ya se habrá convertido en codificación XML.
El descodificador AS2 en la canalización de recepción personalizada procesa el mensaje, que lee las propiedades en la propiedad de contexto InboundHTTPHeaders para realizar su procesamiento.
Un puerto de envío se suscribe a un mensaje XML que genera la canalización de recepción, lo envía a través de una canalización de envío de paso a través y lo coloca en una carpeta de salida.
Ubicación del ejemplo
Este ejemplo se encuentra en la carpeta de instalación de BizTalk Server: \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Over File.
En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.
Archivos | Descripción |
---|---|
AS2OverFile.csproj | El proyecto que contiene el código de componente de canalización personalizado. |
AS2OverFile.sln | La solución que contiene el proyecto AS2OverFile.btproj. |
Program.cs | Incluye las clases que representan los datos de los encabezados. |
SampleMessage.txt | Los mensajes de ejemplo que contienen encabezados HTTP. |
Implementar y ejecutar este ejemplo
Para implementar el ejemplo AS2 a través de archivo, necesita realizar lo siguiente:
Generar e implementar el proyecto de BizTalk para este ejemplo, que crea el componente de canalización personalizado
Crear una canalización personalizada mediante el componente de canalización personalizado, y generar e implementar un proyecto con esa canalización personalizada
Crear carpetas de archivo de entrada y de salida
Configurar un puerto de recepción y ubicación, y habilitar la ubicación de recepción
Configurar un puerto de envío e iniciarlo
Crear una entidad para enviar el mensaje de ejemplo
Para generar una canalización personalizada con el componente de canalización del emulador AS2 a través de archivo
En Visual Studio, abra el proyecto AS2OverFile en la carpeta \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Over File.
Cree un archivo de clave de nombre seguro, abra el cuadro de diálogo Propiedades para el proyecto AS2OverFile y asigne el archivo de clave al proyecto.
Compile el proyecto.
En Visual Studio, cree un nuevo proyecto de Biztalk con el nombre AS2OverFile_Pipeline.
Haga clic con el botón derecho en el proyecto de AS2OverFile_Pipeline, seleccione Agregar y, a continuación, haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , seleccione Archivos de canalización en el panel izquierdo, seleccione Recibir canalización en el panel derecho, asigne un nombre a la canalización AS2OverFile_Receive.btp y, a continuación, haga clic en Agregar.
Haga clic en Ver en la barra de menús y, a continuación, haga clic en Cuadro de herramientas para mostrar el cuadro de herramientas.
En el Cuadro de herramientas, haga clic con el botón derecho en Componentes de canalización de BizTalk y, a continuación, haga clic en Elegir elementos.
En el cuadro de diálogo Elegir elementos del cuadro de herramientas , haga clic en la pestaña Componentes de canalización de BizTalk . Haga clic en AS2 Over File Emulator (Emulador de archivos) y, a continuación, haga clic en Aceptar.
Agregue el archivo AS2OverFile.dll a la caché global de ensamblados abriendo un símbolo del sistema de Visual Studio y ejecutando el comando
gacutil /if "<file name and path>"
en el Microsoft.BizTalk.Sdk.Components.AS2OverFile.dll de la carpeta \AS2 Over File\obj\Debug.En Visual Studio, arrastre el componente de canalización AS2 Over File Emulator desde el Cuadro de herramientas a la fase Descodificación de la canalización personalizada.
Arrastre el componente de descodificador AS2 a la fase Descodificación de la canalización personalizada, después del componente AS2 Over File (As2 over File).
Nota
Si desea generar un MDN, agregue un desensamblador AS2 a la fase Desensamblar de la canalización personalizada. Si no devuelve un MDN, el desensamblador AS2 no es necesario.
Cree un archivo de clave de nombre seguro, abra el cuadro de diálogo Propiedades para el proyecto AS2OverFile_Pipeline y asigne el archivo de clave al proyecto.
Genere e implemente la canalización personalizada.
En la consola de administración de BizTalk Server, agregue la canalización personalizada al nodo Canalizaciones; para ello, haga clic en el nodo Canalizaciones y, a continuación, haga clic en Actualizar.
Para implementar la solución para este ejemplo
En el Explorador de Windows, en la carpeta \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Over File, cree una carpeta In input y una carpeta out output.
En la consola de administración de BizTalk Server, cree un puerto de recepción unidireccional denominado AS2OverFile_Receive. En el puerto de recepción, cree una ubicación de recepción con las siguientes propiedades:
Propiedad Parámetro Nombre AS2OverFile_Receive Tipo FILE Carpeta Recepción \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 over file/In Máscara de archivo *.txt Canalización de recepción AS2OverFile En el nodo Ubicaciones de recepción, haga clic con el botón derecho en el AS2OverFile_Receive ubicación de recepción y, a continuación, haga clic en Habilitar.
En el nodo Puertos de envío, cree un puerto de envío unidireccional estático con las siguientes propiedades:
Propiedad Parámetro Nombre AS2OverFile_Send Tipo FILE Carpeta Recepción \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 over file/out Máscara de archivo %MessageID%.xml Canalización de envío Passthru Filtrar BTS.REceivePortName == AS2OverFile_Receive En el nodo Puertos de envío, haga clic con el botón derecho en el AS2OverFile_Send puerto de envío y, a continuación, haga clic en Iniciar.
En el nodo Entidades, cree una entidad con el nombre "Socio comercial". En la lista Aliases, agregue un alias con un nombreEDIINT-AS2 From Value, un Calificador de AS2-From y un Valor de Partner.
BizTalk Server ya está listo para trabajar con este ejemplo.
Ejecución del ejemplo
Utilice el siguiente procedimiento para ejecutar el ejemplo AS2 a través de archivo.
Para ejecutar el ejemplo
Copie el archivo SampleMessage.txt de la carpeta \Archivos de programa (x86)\Microsoft BizTalk Server <VERSION>SDK\Samples\AS2\AS2 Over File en la carpeta \AS2 Over File\In.
Compruebe que un mensaje XML de salida se coloca en la carpeta de salida \AS2 Over File\Out.
Abra el mensaje de entrada SampleMessage.txt en un editor de texto y abra el GUID> del mensaje <de salida.xml en un editor de texto. Compruebe que el mensaje de entrada SampleMessage.txt tenga los encabezados HTTP (y AS2) y que el mensaje de salida no tenga los encabezados HTTP.
Clases o métodos usados en el ejemplo
None
Consulte también
EDI y AS2 (carpeta de ejemplos de BizTalk Server)
Envío de un mensaje AS2 a través de un puerto de envío de archivo