Tutorial: Módulo 3: Obtener acceso a las propiedades de SharePoint desde una orquestación
Este tutorial es una continuación de Tutorial: Módulo 2: Integración de Office con el adaptador de Windows SharePoint Services y muestra cómo acceder a las propiedades de contexto de Windows SharePoint Services de un mensaje entrante en tiempo de ejecución y, a continuación, determinar el destino de ese mensaje en función de una propiedad mediante puertos dinámicos en un Orquestación. Para obtener una introducción al adaptador de Windows SharePoint Services, consulte ¿Qué es el adaptador de Windows SharePoint Services?.
Requisitos previos
A continuación, se enumeran los requisitos previos para efectuar los procedimientos de este tema:
Debe tener una implementación de servidor única con una instalación completa de BizTalk Server que se ejecuta en Windows Server 2008 SP2 o Windows Server 2008 R2.
Debe completar los siguientes tutoriales: Tutorial: Módulo 1: Envío y recepción de mensajes con el adaptador de Windows SharePoint Services y Tutorial: Módulo 2: Integración de Office con el adaptador de Windows SharePoint Services
Para obtener información sobre cómo usar el adaptador de Windows SharePoint Services en una implementación de varios servidores, consulte Configuración e implementación del adaptador de Windows SharePoint Services.
Modificar el proyecto de BizTalk
En este procedimiento, modificará el esquema PurchaseOrder de Walkthrough: Module 2 - Integrating Office with the Windows SharePoint Services Adapter. En este procedimiento se muestra cómo promocionar una propiedad de esquema para facilitar el acceso en una orquestación de BizTalk.
Modificar el esquema PurchaseOrder.xsd
Inicie Microsoft Visual Studio.
Haga clic en Archivo, en Abriry, a continuación, en Proyecto o solución.
Vaya al archivo y, a
OrderProcess.sln
continuación, haga clic en Abrir.En Explorador de soluciones, haga clic con el botón derecho en el
OrderProcessSchema.xsd
archivo y, a continuación, haga clic en Abrir.En el Editor de BizTalk, expanda
PurchaseOrder
.Haga clic con el botón derecho en , haga clic en
Amount
Promovery, a continuación, haga clic en Promoción rápida.Haga clic en OK.
Nota
Visual Studio crea un esquema de propiedades para esto en el proyecto actual.
Guarde
PurchaseOrder.xsd
.
Crear una orquestación
En este procedimiento, se creará una nueva orquestación de BizTalk. En él, se crea la orquestación que se utiliza para procesar un mensaje recibido por el adaptador de Windows Sharepoint Services.
Agregar una orquestación de BizTalk
En Explorador de soluciones, haga clic con el botón derecho en el
OrderProcess
proyecto, haga clic en Agregar y, a continuación, haga clic en Nuevo elemento.En Categorías, seleccione Archivos de orquestación.
En Plantillas, seleccione Orquestación de BizTalk.
Escriba
MyCompanyOrderProcessing
el campo Nombre y, a continuación, haga clic en Agregar.
Crear información de recepción
En este procedimiento, creará un mensaje, un puerto de recepción y una forma de recepción nuevos para la orquestación. En él se muestra cómo configurar una orquestación para recibir un mensaje de BizTalk Server.
Crear un nuevo mensaje
En vista de orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje. Esto generará un nuevo mensaje con el nombre
Message_1
.Haga clic con el botón derecho en , haga clic en
Message_1
Cambiar nombreyMessage_PO
escriba .Haga clic con el botón derecho en
Message_PO
y, a continuación, haga clic en Ventana Propiedades.En la propiedad Tipo de mensaje , expanda Esquemas y, a continuación, seleccione
OrderProcess.OrderProcessSchema
esquema.
Agregar un puerto de recepción a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Puerto a la superficie de puerto. Se iniciará el Asistente para configuración de puertos.
En la pantalla de bienvenida, haga clic en Siguiente.
Escriba
ReceivePurchaseOrder
el campo Nombre y, a continuación, haga clic en Siguiente.Seleccione Crear un nuevo tipo de puerto.
Escriba
PurchaseOrderPT
el campo Nombre del tipo de puerto y, a continuación, haga clic en Siguiente.En la pantalla Enlace de puerto, deje los valores predeterminados y, a continuación, haga clic en Siguiente.
Haga clic en Finalizar
En vista orquestación, en Tipos de puerto, expanda el tipo de
PurchaseOrderPT
puerto.Haga clic con el botón derecho en , haga clic en
Operation_1
Cambiar nombreyPurchaseOrderOperation
escriba .
Agregar una forma Recepción a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Recibir a la orquestación.
Haga clic con el botón derecho en la forma Recibir y, a continuación, haga clic en Ventana Propiedades.
Establezca la propiedad
True
Activate en .Nota
Si la propiedad Activar está establecida en False, obtendrá el siguiente error: "error X2214: debe especificar al menos una correlación ya inicializada establecida para una recepción de no activación de un puerto no autocorrelacionado"
Escriba
Receive_PO
en el campo Nombre .En la ventana Propiedades, seleccione
Message_PO
para la propiedad Message.Seleccione
ReceivePurchaseOrder.PurchaseOrderOperation.Request
para la propiedad Operation . Con esto, se asociará el puerto a la forma Recepción en el Diseñador de orquestaciones.
Crear información de envío
En este procedimiento, creará un mensaje, puertos de envío y una estructura de decisión nuevos en la orquestación. En él, se muestra cómo configurar una orquestación con lógica de decisiones, además de cómo configurar una orquestación para enviar un mensaje a un puerto de envío.
Crear un nuevo mensaje
En vista de orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje. Esto generará un nuevo mensaje con el nombre
Message_1
.Haga clic con el botón derecho en , haga clic en
Message_1
Cambiar nombreyMessage_Task
escriba .Haga clic con el botón derecho en
Message_Task
y, a continuación, haga clic en Ventana Propiedades.En la propiedad Tipo de mensaje , expanda Esquemas y, a continuación, seleccione
OrderProcess.OrderProcessSchema
esquema.
Agregar un puerto de envío a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Puerto a la superficie de puerto. Se iniciará el Asistente para configuración de puertos.
En la pantalla de bienvenida, haga clic en Siguiente.
Escriba
SendPurchaseOrder
el campo Nombre y, a continuación, haga clic en Siguiente.Seleccione Usar un tipo de puerto existente.
En Tipos de puerto disponibles, seleccione
OrderProcess.PurchaseOrderPT
y, a continuación, haga clic en Siguiente.En la pantalla Enlace de puerto, en Dirección del puerto de comunicación, seleccione
I'll always be sending messages on this port
y, a continuación, haga clic en Siguiente.Haga clic en Finalizar
Agregar una forma Envío a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Enviar al Designer de orquestación. Colóquelo debajo de la
Receive_PO
forma Recibir.Haga clic con el botón derecho en la forma Enviar y, a continuación, haga clic en Ventana Propiedades.
Escriba
Send_PO
en el campo Nombre .Seleccione
Message_PO
para la propiedad Message .Seleccione
SendPurchaseOrder.PurchaseOrderOperation.Request
para la propiedad Operation . Con esto, se asociará el puerto a la forma Envío en el Diseñador de orquestaciones.
Agregar una forma Decidir a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Decidir al Designer de orquestación. Colóquelo debajo de la
Send_PO
forma Enviar.Haga clic con el botón derecho en la forma Decidir y, a continuación, haga clic en Ventana Propiedades.
Escriba
NeedsApproval
en el campo Nombre .En Orquestación Designer, haga clic en Rule_1 en la forma Decidir.
En las ventanas Propiedades, escriba
ApprovalRequired
para la propiedad Name .Haga clic en el campo Propiedad expresión y, a continuación, haga clic en el botón de puntos suspensivos (...).
En el Editor de expresiones de BizTalk, escriba o copie lo siguiente:
Message_PO(OrderProcess.PropertySchema.Amount) > 1000
Haga clic en OK.
Agregar otro puerto de envío a la orquestación
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Puerto a la superficie de puerto. Se iniciará el Asistente para configuración de puertos.
En la pantalla de bienvenida, haga clic en Siguiente.
Escriba
SendToTasksList
en el campo Nombre y, a continuación, haga clic en Siguiente.Seleccione Usar un tipo de puerto existente.
En Tipos de puerto disponibles, seleccione
OrderProcess.PurchaseOrderPT
y, a continuación, haga clic en Siguiente.En la pantalla Enlace de puerto, en Dirección del puerto de comunicación, seleccione
I'll always be sending messages on this port
.En Enlace de puerto, seleccione
Dynamic
y, a continuación, haga clic en Siguiente.Haga clic en Finalizar
Agregar una forma Envío a la forma Decidir
En Orquestaciones de BizTalk en el cuadro de herramientas, arrastre una forma Enviar al Designer de orquestación. Colóquelo debajo de la
ApprovalRequired
forma.Haga clic con el botón derecho en la forma Enviar y, a continuación, haga clic en ventana Propiedades.
Escriba
CreateApprovalTask
en el campo Nombre .Seleccione
Message_Task
para la propiedad Message .Seleccione
SendToTasksList.PurchaseOrderOperation.Request
para la propiedad Operation . Con esto, se asociará el puerto a la forma Envío en el Diseñador de orquestaciones.
Crear una expresión
En este procedimiento, agregará una forma Expresión a la solución, con lo que se asignará la ruta de acceso de Tareas a una variable. En él, se muestra cómo agregar lógica a una orquestación para modificar las propiedades de un puerto de envío dinámico.
Crear una nueva expresión
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma expresión antes de la
CreateApprovalTask
forma Enviar.Haga clic con el botón derecho en la forma Expresión y, a continuación, haga clic en Ventana Propiedades.
Escriba
SetPortDestination
en el campo Nombre .Haga clic en el campo Propiedad expresión y, a continuación, haga clic en el botón de puntos suspensivos (...).
En el Editor de expresiones de BizTalk, escriba lo siguiente:
SendToTasksList(Microsoft.XLANGs.BaseTypes.Address) = "wss://localhost/sites/WSSAdapterWalkthrough/Lists/Tasks/";
Haga clic en OK.
Construir un nuevo mensaje
En este procedimiento, agregará una forma Construir a la solución, con lo que se construirá una nueva instancia de un tipo de mensaje en la orquestación. En él, se muestra cómo crear un mensaje nuevo que sea una copia del mensaje de entrada y, seguidamente, modificar las propiedades de contexto del nuevo mensaje. Este paso es necesario porque los mensajes son inmutables en BizTalk; es decir, una vez construido el mensaje, no es posible modificar el original.
Agregar una forma Construir
En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma Construir mensaje antes de la
SetPortDestination
forma Expresión.Haga clic con el botón derecho en la forma Construir mensaje y, a continuación, haga clic en Ventana Propiedades.
Escriba
ConstructTaskMessage
en el campo Nombre .Seleccione
Message_Task
para la propiedad Mensajes construidos .En Orquestaciones de BizTalk en el Cuadro de herramientas, arrastre una forma de asignación de mensajes a la
ConstructTaskMessage
forma Construir mensaje.En la ventana Propiedades, escriba
InitTaskMessage
en el campo Nombre .Haga clic en el campo Propiedad expresión y, a continuación, haga clic en el botón de puntos suspensivos (...).
En el Editor de expresiones de BizTalk, escriba o copie lo siguiente:
Message_Task = Message_PO; Message_Task(WSS.ConfigOverwrite) = "no"; Message_Task(WSS.ConfigNamespaceAliases)= "orchns='http://OrderProcess.PurchaseOrder'"; Message_Task(WSS.ConfigPropertiesXml) = "<ConfigPropertiesXml><PropertyName1>Title</PropertyName1><PropertySource1>Approve %XPATH=//orchns:PurchaseOrder/orchns:PurchaseOrderID%</PropertySource1><PropertyName3>Status</PropertyName3><PropertySource3>Not Started</PropertySource3><PropertyName4>Priority</PropertyName4><PropertySource4>(1) High</PropertySource4></ConfigPropertiesXml>";
Importante
Al especificar los valores para estas propiedades de contexto, es preciso distinguir entre mayúsculas y minúsculas. Al establecer los valores de configuración para un puerto dinámico con propiedades de contexto, es necesario asegurarse de que se utilizan las mayúsculas y minúsculas del modo apropiado o, de lo contrario, se producirá un error cuando BizTalk intente enrutar el documento al puerto de envío designado.
Haga clic en OK.
Haga clic en Archivoy, a continuación, en Guardar todo.
Generar el proyecto de BizTalk
En este procedimiento, generará e implementará el proyecto de BizTalk. Este paso resulta necesario para crear e implementar el ensamblado que BizTalk Server utiliza en tiempo de ejecución.
Compilar e implementar la solución.
Haga clic en Compilary, a continuación, haga clic en Build OrderProcess (Compilar orderProcess).
Haga clic en Compilar y, a continuación, haga clic en Implementar OrderProcess.
Cierre Microsoft Visual Studio.
Modificar la ubicación de recepción y el puerto de envío
En este procedimiento, modificará la ubicación de recepción y el puerto de envío existentes para utilizar el procesamiento XML para las canalizaciones. La canalización XML de recepción almacena las propiedades de mensaje utilizadas durante el procesamiento de la orquestación, mientras que la canalización XML de envío almacena las propiedades de mensaje que se aplican en la orquestación y que se utilizarán posteriormente para el enrutamiento de mensajes.
Modificar la ubicación de recepción
Haga clic en Inicio, seleccione Todos los programas, MicrosoftBizTalk Server y, a continuación, haga clic en Administración de BizTalk Server.
Expanda MicrosoftBizTalk ServerAgregar Complemento de administración, grupo de BizTalk, aplicaciones,aplicación de BizTalk 1 y, a continuación, haga clic en el nodo Ubicaciones de recepción.
Haga clic con el botón derecho en
SourceLocation
y, a continuación, haga clic en Propiedades.En el cuadro de diálogo Propiedades de ubicación de recepción, en General, seleccione
XMLReceive
para la propiedad Canalización de recepción .Haga clic en OK.
Modificar el puerto de envío
Haga clic en el nodo Puertos de envío .
Haga clic con el botón derecho en
SendToDestination
y, a continuación, haga clic en Propiedades.En el cuadro de diálogo Propiedades del puerto de envío, en General, seleccione
XMLTransmit
para la propiedad Enviar canalización .Seleccione la pestaña Filtros .
Seleccione la condición existente, presione DELETE y, a continuación, haga clic en Aceptar.
Iniciar un nuevo puerto de envío
Haga clic en el nodo Puertos de envío .
Haga clic con el botón derecho en
OrderProcess_1.0.0.0_OrderProcess.MyCompanyOrderProcess_SendToTasksList_<GUID>
y, a continuación, haga clic en Iniciar.
Nota
Puede que sea necesario actualizar la consola si no resulta visible.
Enlazar la orquestación
En este procedimiento, enlazará la orquestación a los puertos especificados. Este procedimiento resulta necesario para asociar puertos físicos a la orquestación generada e implementada.
Enlazar la orquestación
En la consola de administración de BizTalk Server, haga clic en el nodo Orquestaciones.
Haga clic con el botón derecho en la
OrderProcess.MyCompanyOrderProcessing
orquestación y, a continuación, haga clic en Propiedades.Seleccione la pestaña Enlaces .
En Host, seleccione
BizTalkServerApplication
en el campo Host .En Enlaces, seleccione
FromSource
para elReceivePurchaseOrder
puerto lógico de entrada.En Enlaces, seleccione
SendToDestination
para elSendPurchaseOrder
puerto lógico saliente.Haga clic en OK.
Haga clic con el botón derecho en
OrderProcess.MyCompanyOrderProcessing
orquestación y, a continuación, haga clic en Iniciar.
Enviar un mensaje a través del sistema
En este procedimiento, creará un formulario de InfoPath y lo cargará en el sitio web de Windows SharePoint Services. El adaptador de Windows SharePoint Services tomará el mensaje, lo archivará en la biblioteca de documentos de archivo y, a continuación, lo enviará a la biblioteca de documentos de destino. Durante el procesamiento del mensaje, se obtendrá acceso a las propiedades de contexto de Windows SharePoint Services que ayudan a determinar el destino.
Crear un formulario de InfoPath para su envío a través del sistema
Abra un explorador web y vaya a la dirección URL del sitio creado. Por ejemplo,
http://<server_name>/sites/WSSAdapterWalkthrough
.En el menú Inicio rápido, haga clic en
InfoPathSolutions
.Haga clic en el
PurchaseOrder
archivo para mostrar el cuadro de diálogo Descargar archivo y, a continuación, haga clic en Abrir. InfoPath cargará el formulario.En el campo Id. de pedido de compra , escriba
1003
.En el campo Facturar a , escriba
John Doe
.En el campo Importe , escriba
1750
.En el campo Fecha de pedido de compra , escriba
1/3/2005
.Haga clic en Save(Guardar).
En el cuadro de diálogo Guardar como , escriba
http://<server_name>/sites/WSSAdapterWalkthrough/Source
en el campo nombre de archivo y presione ENTRAR.Escriba
PurchaseOrder3.xml
el campo nombre de archivo y, a continuación, haga clic en Guardar.Cierre InfoPath.
En el explorador web, haga clic en Documentos y listas.
En Bibliotecas de documentos, haga clic en Destino.
En la biblioteca de documentos de destino, verá ahora el mensaje incluido en esta biblioteca. También encontrará una copia archivada en la biblioteca de documentos archive.
Haga clic en Inicio.
En Listas, haga clic en Tareas.
En la lista Tareas, verá la tarea de aprobación recién creada.
Nota
Puesto que el importe del pedido superaba los 1.000,00 dólares, se creó la tarea.
Resumen
En este tutorial, ha visto cómo obtener acceso a las propiedades de contexto de Windows SharePoint Services y cómo determinar el destino de los mensajes que circulan a través de puertos dinámicos.
Pasos siguientes
Continúe revisando el resto de la sección del adaptador de Windows SharePoint Services. Para obtener más información, vea los temas de Vea también.
Consulte también
¿Qué es el adaptador de Windows SharePoint Services?
Tutoriales del adaptador de Windows SharePoint Services