Paso 1: Modificar el proyecto de BizTalk vPrev mediante el adaptador de SQL
Tiempo de finalización: 10 minutos
Objetivo: En este paso, realizará los siguientes cambios en el proyecto de BizTalk vPrev existente:
Genere metadatos para la operación Insertar en la tabla Customer mediante el adaptador sql basado en WCF.
Asigne el mensaje de solicitud para realizar una operación de inserción mediante el adaptador de SQL vPrev a un mensaje de solicitud para realizar una operación de inserción mediante el adaptador sql basado en WCF.
Asigne el mensaje de respuesta recibido mediante el adaptador de SQL basado en WCF al mensaje de respuesta recibido mediante el adaptador de SQL vPrev.
Requisitos previos
Debe tener un proyecto de BizTalk vPrev para realizar una operación de inserción en la tabla Customer de la base de datos SQL Server.
Para modificar el proyecto de BizTalk vPrev
Genere metadatos para la operación Insertar en la tabla Customer mediante el adaptador sql basado en WCF. Puede usar el complemento De proyecto de BizTalk para consumir el servicio adaptador para generar metadatos.
Para obtener instrucciones sobre cómo generar metadatos, consulte Obtención de metadatos para SQL Server operaciones en Visual Studio mediante el adaptador de SQL. Una vez generado el esquema, se agrega un archivo con el nombre similar a TableOperation.dbo.Customer.xsd al proyecto de BizTalk. Este archivo contiene el esquema para enviar un mensaje para realizar una operación de inserción en la tabla Customer de la base de datos SQL Server mediante el adaptador SQL basado en WCF.
La generación de los metadatos para la operación De inserción también crea un archivo de enlace de puerto. En el paso siguiente, este archivo de enlace se usará para crear un puerto de envío WCF-Custom para enviar mensajes a la base de datos de SQL Server. La acción SOAP de la operación también se establece en la operación para la que generó metadatos. Por ejemplo, si genera metadatos para la operación Insertar, el nombre de la operación en la acción SOAP en el puerto de envío será "Insertar". Sin embargo, el nombre de la operación en el puerto de envío lógico que cree como parte de la orquestación podría ser diferente, por ejemplo, "Operation_1". Como resultado, cuando se envían mensajes a la base de datos de SQL Server mediante el puerto de envío, se produce un error. Para evitar esto, asegúrese de que el nombre de la operación en el puerto de envío lógico de la orquestación sea el mismo que el nombre de la operación para el que generó los metadatos.
Por lo tanto, en el caso de este tutorial, porque genera metadatos para la operación De inserción, cambie el nombre de la operación de puerto de envío lógico a "Insertar".
Para el mensaje de solicitud, asigne el esquema generado mediante el adaptador de base de datos SQL vPrev al esquema generado mediante el adaptador sql basado en WCF.
Agregue un asignador de BizTalk al proyecto de BizTalk. Haga clic con el botón derecho en el proyecto de BizTalk, seleccione Agregar y, a continuación, haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , en el panel izquierdo, seleccione Archivos de mapa. En el panel derecho, seleccione Asignar. Especifique un nombre para el mapa, como RequestMap.btm. Haga clic en Agregar.
En el panel Esquema de origen, haga clic en Esquema de código abierto.
En el cuadro de diálogo Selector de tipos de BizTalk , expanda el nombre del proyecto, expanda Esquemas y, a continuación, seleccione el esquema para el mensaje de solicitud para el adaptador de SQL vPrev. Para este tutorial, seleccione New_Migration.InsertCustomerService y, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Nodo raíz del esquema de origen, seleccione Insertar y, a continuación, haga clic en Aceptar.
En el panel Esquema de destino, haga clic en Abrir esquema de destino.
En el cuadro de diálogo Selector de tipos de BizTalk , expanda el nombre del proyecto, expanda Esquemas y, a continuación, seleccione el esquema para el mensaje de solicitud para el adaptador de SQL basado en WCF. Para este tutorial, seleccione New_Migration.TableOperation.dbo.Customer y haga clic en Aceptar.
En el cuadro de diálogo Nodo raíz para esquema de destino , seleccione Insertar y, a continuación, haga clic en Aceptar.
Asigne los elementos respectivos en ambos esquemas, como se muestra en la ilustración siguiente.
Guarde la asignación.
Para el mensaje de respuesta, asigne el esquema generado mediante el adaptador de SQL vPrev al esquema generado mediante el adaptador sql basado en WCF.
Agregue un asignador de BizTalk al proyecto de BizTalk. Haga clic con el botón derecho en el proyecto de BizTalk, seleccione Agregar y haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , en el panel izquierdo, seleccione Archivos de mapa. En el panel derecho, seleccione Asignar. Especifique un nombre para el mapa, como ResponseMap.btm y, a continuación, haga clic en Agregar.
En el panel Esquema de origen, haga clic en Esquema de código abierto.
En el cuadro de diálogo Selector de tipos de BizTalk , expanda el nombre del proyecto, expanda Esquemas y, a continuación, seleccione el esquema para el mensaje de respuesta para el adaptador de SQL basado en WCF. Para este tutorial, seleccione New_Migration.TableOperation.dbo.Customer y haga clic en Aceptar.
En el cuadro de diálogo Nodo raíz para esquema de origen, seleccione InsertarResponse y, a continuación, haga clic en Aceptar.
En el panel Esquema de destino, haga clic en Abrir esquema de destino.
En el cuadro de diálogo Selector de tipos de BizTalk , expanda el nombre del proyecto, expanda Esquemas y, a continuación, seleccione el esquema del mensaje de respuesta para el adaptador de SQL vPrev. Para este tutorial, seleccione New_Migration.InsertCustomerService y, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Nodo raíz para esquema de destino , seleccione InsertarResponse y, a continuación, haga clic en Aceptar.
Observará algunas diferencias entre los esquemas de respuesta para generados por los dos adaptadores. Estas diferencias se pueden explicar de la siguiente manera:
Con el adaptador de SQL basado en WCF, si inserta un registro en una tabla que contiene una clave principal (y también es un campo de identidad), la respuesta de la operación Insertar devuelve el valor del campo de identidad de la fila insertada. Por lo tanto, el esquema del mensaje de respuesta que se ajusta al adaptador de SQL basado en WCF contiene un elemento InsertResult adicional. Este elemento contiene una matriz, que a su vez contiene los campos de identidad de las filas insertadas.
Con el adaptador de SQL vPrev, si inserta un registro en una tabla, el adaptador solo devuelve un elemento "Success" vacío como parte del mensaje de respuesta.
Por lo tanto, los esquemas se asignan de tal manera que la respuesta del adaptador de SQL basado en WCF que contiene el valor de los campos de identidad se "copia" como parte del elemento "Success", que forma parte del mensaje de respuesta del adaptador de SQL vPrev. Puede usar el functoid Copia masiva para copiar elementos de un esquema en otro.
Para usar el functoid Copia masiva, desde el Cuadro de herramientas, arrastre el functoid Copia masiva y colóquelo en la cuadrícula del asignador. Conecte el elemento InsertResult del esquema de origen al functoid. Del mismo modo, conecte el elemento Success en el esquema de destino al functoid. En la ilustración siguiente se muestra cómo se asignan los dos elementos a través del functoid.
Nota
Para obtener más información sobre el functoid copia masiva, consulte Functoid de copia masiva.
Guarde la asignación.
Guarde y compile la solución de BizTalk. Haga clic con el botón derecho en la solución y, a continuación, haga clic en Compilar solución.
Implementar la solución. Haga clic con el botón derecho en la solución y, a continuación, haga clic en Implementar solución.
Pasos siguientes
Cree un puerto de envío personalizado de WCF y configúrelo para usar los mapas que creó en este paso, como se describe en Paso 2: Configurar la orquestación en BizTalk Server consola de administración mediante el adaptador de SQL.
Consulte también
Tutorial 1: Migración de proyectos de BizTalk al adaptador de SQL