Guía de flujo de trabajo del conector de servicios web para SOAP
En este artículo se describe cómo crear un nuevo proyecto para el origen de datos en la Herramienta de configuración de servicios web. Siga estos pasos para crear un proyecto.
Abra la herramienta de configuración del servicio web. Abre un proyecto en blanco.
Seleccione Proyecto SOAP y, a continuación, seleccione Agregar.
En la página siguiente, proporcione la siguiente información y, a continuación, seleccione Siguiente:
- El nuevo nombre del servicio web
- Dirección (ruta de acceso de WSDL) para recuperar los servicios expuestos, los puntos de conexión y las operaciones
- Espacio de nombres
- Modo de seguridad (tipo de autenticación)
En este ejemplo, la página Credenciales se muestra con los requisitos para el modo de seguridad básico (el modo seleccionado en el paso anterior). Si se especificó "None" para el modo de seguridad, no se mostrará una página Credenciales. Seleccione Next (Siguiente).
Se accede a la ruta de acceso de WSDL para recuperar la información del servicio y se muestra la lista de funciones expuestas. Si la ruta de acceso de WSDL especificada es incorrecta, la herramienta de configuración no puede recuperar la información del servicio y produce un error.
Una vez realizada la detección, se enumeran el punto de conexión y las operaciones que se detectan. Seleccione Finalizar.
Se realiza la compilación. La compilación es un proceso de compilación del ensamblado de contrato de datos, que puede llevar mucho tiempo. El usuario se informa sobre los errores de compilación. Una vez realizada la detección, la herramienta muestra la página siguiente:
Expanda el proyecto SOAP y seleccione el punto de conexión expuesto proporcionado a continuación. En esta pantalla se enumeran las operaciones declaradas en el punto de conexión.
Al expandir el punto de conexión se muestra la lista de operaciones. Una operación es una función declarada por un punto de conexión. Cada operación aborda un tipo de tarea que se puede realizar dentro del servicio. En esta pantalla se enumeran los argumentos declarados para la operación. A continuación, estos argumentos se definen cuando se usa la operación para configurar los flujos de trabajo.
El siguiente paso consiste en definir el esquema de espacio del conector, que se logra mediante la creación del tipo de objeto y la definición de sus tipos de objeto. Seleccione Tipos de objetos y, a continuación, seleccione Agregar. En la nueva ventana, agregue un nuevo tipo de objeto y proporcione un nombre. Seleccione Aceptar.
La adición de un tipo de objeto proporciona la pantalla siguiente.
El panel derecho correspondiente al tipo de objeto permite mantener los atributos y sus propiedades para el tipo de objeto seleccionado. Seleccione Agregar. Se abre una nueva ventana para agregar atributos:
La siguiente pantalla aparece después de agregar todos los atributos necesarios:
Tipo de objeto y atributos creados una vez creados, proporciona flujos de trabajo en blanco que satisfacen las operaciones realizadas en Microsoft Identity Manager 2016 (MIM).
Configurar flujos de trabajo en la herramienta de configuración del servicio web
El siguiente paso consiste en configurar los flujos de trabajo para el tipo de objeto. Los archivos de flujo de trabajo son una serie de actividades que usa el conector de servicios web en tiempo de ejecución. Los flujos de trabajo se usan para implementar la operación MIM adecuada. La herramienta de configuración del servicio web le ayuda a crear cuatro flujos de trabajo diferentes:
Importar: importe datos de un origen de datos para los dos tipos de flujos de trabajo siguientes:
- Importación completa: una importación completa que se puede configurar.
- Importación diferencial: no compatible con la herramienta de configuración del servicio web.
Exportar: exporte datos de MIM a un origen de datos conectado. Se admiten las tres acciones siguientes para la operación. Puede configurar estas acciones en función de sus requisitos.
- Sumar
- Eliminar
- Replace
Contraseña: realice la administración de contraseñas para el usuario (tipo de objeto). Hay dos acciones disponibles para esta operación:
- Establecimiento de la contraseña
- Cambiar contraseña
Probar conexión: configure un flujo de trabajo para comprobar si la conexión con el servidor de origen de datos se ha establecido correctamente.
Nota
Puede configurar estos flujos de trabajo para el proyecto o descargar el proyecto predeterminado desde el Centro de descarga de Microsoft.
Diseñador de flujo de trabajo
El Designer flujo de trabajo abre el área de trabajo para configurar el flujo de trabajo según sea necesario. Para cada tipo de objeto (nuevo /existing), la herramienta de configuración proporciona los nodos para los flujos de trabajo admitidos por la herramienta.
El Designer flujo de trabajo se compone de los siguientes elementos de la interfaz de usuario:
Nodos en el panel izquierdo: le ayudan a seleccionar qué flujo de trabajo desea diseñar.
Designer de flujo de trabajo central: aquí puede quitar las actividades para configurar los flujos de trabajo. Para realizar varias operaciones de MIM (exportación, importación, administración de contraseñas), puede usar las actividades de flujo de trabajo estándar y personalizadas de .NET Workflow Framework 4. La herramienta Configuración de servicios web usa actividades de flujo de trabajo estándar y personalizadas. Para obtener más información sobre las actividades estándar, consulte Uso de diseñadores de actividades.
En el Designer flujo de trabajo central, un círculo rojo con signo de exclamación junto a cualquier actividad indica que la operación se quitó y no está definida correctamente y completamente. Mantenga el puntero sobre el círculo rojo para averiguar el error exacto. Una vez definida correctamente la actividad, el círculo rojo cambia a la marca de información amarilla.
En el Designer flujo de trabajo central, una marca de información de triángulo amarillo junto a cualquier actividad indica que la actividad está definida, pero hay más que puede hacer para completar la actividad. Mantenga el puntero sobre el triángulo amarillo para ver más información.
Cuadro de herramientas: empaqueta todas las herramientas, incluidas las actividades personalizadas y del sistema, y las instrucciones predefinidas para diseñar el flujo de trabajo. Para obtener más información, vea Cuadro de herramientas.
Secciones del cuadro de herramientas: el cuadro de herramientas tiene las secciones y categorías siguientes:
Descripción: encabezado del cuadro de herramientas. Una pestaña accede al Cuadro de herramientas y a las propiedades de la actividad de flujo de trabajo seleccionada.
Flujo de trabajo de importación: actividades personalizadas para configurar flujos de trabajo de importación.
Flujo de trabajo de exportación: actividades personalizadas para configurar flujos de trabajo de exportación.
Común: actividades personalizadas para configurar cualquier flujo de trabajo.
Depuración: actividades de flujo de trabajo del sistema para la depuración definidas en flujo de trabajo 4. Estas actividades permiten el seguimiento de problemas de un flujo de trabajo.
Instrucciones: actividades de flujo de trabajo del sistema definidas en Flujo de trabajo 4. Para obtener más información, consulte Uso de diseñadores de actividad.
Propiedades: la pestaña propiedades muestra las propiedades de una actividad de flujo de trabajo determinada que se quita en el área del diseñador y se selecciona. En la ilustración de la izquierda se muestran las propiedades de la actividad Assign . Para cada actividad, las propiedades difieren y se usan al configurar el flujo de trabajo personalizado. Esta pestaña permite definir los atributos de la herramienta seleccionada que se han quitado en el diseñador de flujo de trabajo central. Para obtener más información, consulta Propiedades.
Barra de tareas: La barra de tareas incluye tres elementos: Variables, Argumentos e Importaciones. Estos elementos se usan junto con las actividades de flujo de trabajo. Para obtener más información, vea Introducción del desarrollador a Windows Workflow Foundation (WF) en .NET 4.
Configurar un flujo de trabajo de importación completo en la herramienta de configuración del servicio web
En los pasos siguientes se muestra cómo configurar flujos de trabajo de importación completos para SOAP mediante la Herramienta de configuración del servicio web.Advertencia
Este ejemplo solo crea un flujo de trabajo. Es posible que se requieran modificaciones en el flujo de trabajo, como usar lógica personalizada en la API.
Seleccione el flujo de trabajo de importación completa que se va a configurar. Los argumentos e importaciones ya están definidos y son específicos de las actividades. Consulte las siguientes pantallas para obtener más información.
Después de la reconfiguración de las llamadas, cambie los nombres de los atributos que cambian, agregue o cambie el espacio de nombres a variables que hacen referencia a la estructura de retorno de los tipos de objetos y API que hacen referencia al espacio de nombres anterior. El cuadro de herramientas del panel derecho contiene todas las actividades personalizadas específicas del flujo de trabajo que necesita para la configuración. Asigne los valores a las variables que va a usar para la lógica. Vaya a la sección inferior del diseñador central de flujos de trabajo y declare las variables. Las variables se declaran en el paso siguiente.
Agregue una actividad Sequence. Arrastre el Diseñador de actividades de secuencia desde el Cuadro de herramientas y colóquelo en la superficie Designer de Windows Workflow. Consulte las siguientes pantallas. La actividad Sequence contiene una colección ordenada de actividades secundarias que se ejecuta en orden.
Para agregar una variable, busque Crear variable. Escriba wsResponse para el nombre, seleccione la lista desplegable Tipo de variable y, a continuación, seleccione Examinar tipos. Se muestra un cuadro de diálogo. SeleccioneRespuestapredeterminada>generada>. Mantenga los valores Scope y Default no seleccionados. Como alternativa, establezca estos valores mediante la vista Propiedades .
Ahora agregue todas las demás variables y a continuación es la pantalla final.
Arrastre un diseñador de actividad de secuencia más desde el cuadro de herramientas dentro de la actividad Sequence ya agregada.
Arrastre un WebServiceCallActivity presentado en Común. Esta actividad se usa para invocar la operación de servicio web disponible después de la detección. Se trata de una actividad personalizada y es común en diferentes escenarios de operación.
Para usar la operación de servicio web, establezca las siguientes propiedades:
Nombre del servicio: escriba un nombre para el servicio web.
Nombre del punto de conexión: especifique un nombre de punto de conexión para el servicio seleccionado.
Nombre de la operación: especifique la operación correspondiente para el servicio.
Argumento: seleccione Argumentos. En el cuadro de diálogo siguiente, asigne los valores de argumento, como se muestra en la ilustración siguiente:
Importante
No cambie el nombre, la dirección o el tipo de un argumento mediante este cuadro de diálogo. Si se cambia alguno de estos valores, la actividad deja de ser válida. Establezca solo el valor del argumento . Como se muestra en esta ilustración, se establece el valor wsResponse .
Agregue una actividad ForEach justo debajo de WebServiceCallActivity. Esta actividad se usa para iterar todos los atributos (tanto delimitadores como no delimitadores) del tipo de objeto. Al arrastrar esta actividad a la superficie de flujo de trabajo Designer, enumera automáticamente todos los nombres de atributo del objeto. Establezca los valores necesarios según la siguiente pantalla:
Arrastre una actividad CreateCSEntryChangeScope dentro del cuerpo de ForEach . Esta actividad se usa para crear una instancia del objeto CSEntryChange en el dominio de flujo de trabajo para cada registro respectivo mientras se recuperan datos del origen de datos de destino. Arrastrar esta actividad proporciona la pantalla siguiente. Las actividades CreateAnchorAttribute se heredan automáticamente.
Establezca el valor de la expresión DN como
‘string.Concat ("Employee",item.EmployeeID)’
. Establezca AnchorValue para EmployeeID en 'Convert.tostring(item). EmployeeID)'. Establezca ObjectTypeName como Employee. Después de realizar estas modificaciones, verá la siguiente pantalla:Nota
Los valores de anclaje y los nombres de objeto varían según el servicio web expuesto. En la ilustración se muestra un ejemplo.
Arrastre una actividad CreateAttributeChange debajo de la actividad CreateAnchorAttribute . El número de actividades que se van a arrastrar es igual al número de atributos no delimitadores. Consulte la ilustración siguiente para obtener referencia.
Arrastre CreateValueChangeActivity dentro de la actividad CreateAttributeChange y establezca el valor de atributo según la pantalla siguiente.
Nota
Para usar esta actividad, seleccione y asigne los campos respectivos de la lista desplegable y asigne los valores. En el caso de los atributos multivalor, quite varias actividades CreateValueChangeActivity dentro de una actividad CreateAttributeChangeActivity .
Para agregar condiciones para un atributo, agregue una actividad If como se muestra en la ilustración siguiente:
Por último, agregue una actividad Assign y establezca la expresión, como se muestra en la ilustración siguiente:
Guarde este proyecto en la ubicación
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.Los proyectos predeterminados deben descargarse y guardarse en la ubicación
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
del sistema de destino. A continuación, los proyectos son visibles en el Asistente para conectores de servicios web.Al ejecutar el archivo ejecutable, se le pedirá que especifique la ubicación de la instalación. Escriba la ubicación de guardado.
Importante
El archivo del proyecto se puede guardar y abrir desde cualquier ubicación (con los privilegios de acceso adecuados de su ejecutor). Solo se pueden seleccionar los archivos de proyecto guardados en la
Synchronization Service\Extension
carpeta en el Asistente para conectores de servicios web a los que se accede a través de la interfaz de usuario de sincronización de MIM.El usuario que ejecuta la herramienta de configuración del servicio web requiere los siguientes privilegios:
- Control total en la carpeta Extensión del servicio de sincronización.
- Obtenga acceso de lectura a la clave
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
del Registro a través de la cual se encuentra la ruta de acceso de la carpeta extensión.
Configuración de flujos de trabajo de exportación en la herramienta de configuración del servicio web
En las secciones siguientes se muestra cómo exportar los flujos de trabajo mediante la Herramienta de configuración del servicio web.
Adición de flujos de trabajo
Agregue flujos de trabajo de exportación siguiendo estos pasos en la Herramienta de configuración de servicios web.Seleccione el flujo de trabajo de exportación que se va a configurar. En Exportar, seleccione Agregar. Los argumentos e importaciones ya están definidos y son específicos de las actividades. Consulte las siguientes pantallas como referencia.
Agregue una actividad Sequence . Arrastre el Diseñador de actividades de secuencia desde el Cuadro de herramientas y colóquelo en la superficie de windows Workflow Designer. La actividad Sequence contiene una colección ordenada de actividades secundarias que ejecuta en orden. Seleccione Crear variable. Asigne los valores a las variables que va a usar para la lógica.
Nota
Los pasos para agregar una variable se describen en la sección para crear flujos de trabajo de importación completos.
Arrastre una actividad ForEach dentro de la actividad Sequence ya agregada para iterar sobre los valores de atributo de delimitador.
Seleccione Propiedades y establezca los valores según la pantalla siguiente. Aquí objectToExport es el argumento .
Establezca DisplayName como ForEach<AnchorAttribute>.
Establezca TypeArgument como
Microsoft.MetadirectoryServices.AnchorAttribute
.Agregue una actividad Switch dentro del cuerpo ForEach del AnchorAttribute.
Agregue una expresión según la pantalla siguiente.
Seleccione Agregar un nuevo caso y escriba un valor para EmployeeId. Arrastre una actividad Sequence y, dentro de ella, agregue una actividad Assign .
Asigne las propiedades To y Value para la actividad Assign .
La actividad ForEach se usa para los valores de delimitador. Agregue otra actividad ForEach para asignar valores que no son delimitadores. En este ejemplo, se usa el delimitador AttributeChange .
Agregue una actividad Switch en el cuerpo de ForEach del delimitador AttributeChange .
Agregue una expresión según la pantalla siguiente.
Seleccione Agregar un nuevo caso y escriba un valor para FirstName. Arrastre una actividad Sequence y, dentro de ella, agregue una actividad Assign . Asigne las propiedades To y Value para la actividad Assign .
Agregue valores para los atributos necesarios, como LastName, Email, etc.
En Común, arrastre un WebServiceCallActivity y establezca Valores para sus argumentos.
Importante
No cambie el nombre, la dirección o el tipo de un argumento mediante este cuadro de diálogo. Si se cambia alguno de estos valores, la actividad deja de ser válida. Establezca solo el valor para el argumento . Como se muestra en esta ilustración, se establece el valor wsResponse .
Por último, agregue una actividad If para comprobar las respuestas que se devuelven de la operación del servicio web.
Se ha completado la creación del flujo de trabajo de exportación con la operación Agregar :
Guarde este proyecto en la ubicación %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Eliminación de flujos de trabajo
Elimine los flujos de trabajo de exportación siguiendo estos pasos en la Herramienta de configuración de servicios web.
Seleccione el flujo de trabajo de exportación que se va a configurar. En Exportar, seleccione Eliminar. Los argumentos e importaciones ya están definidos y son específicos de las actividades. Consulte las siguientes pantallas como referencia.
Agregue una actividad Sequence . Seleccione Crear variable. Asigne los valores a las variables que va a usar para la lógica.
Nota
Los pasos para agregar una variable se describen en la sección para crear flujos de trabajo de importación completos.
Arrastre una actividad ForEach dentro de la actividad Sequence ya agregada para iterar sobre los valores de atributo de delimitador.
Seleccione Propiedades y establezca los valores por pantalla siguiente. Aquí objectToExport es el argumento .
Establezca displayName como
ForEach\<AnchorAttribute\>
:Establezca TypeArgument como
Microsoft.MetadirectoryServices.AnchorAttribute
:Agregue una actividad Switch dentro del cuerpo ForEach del AnchorAttribute.
Agregue una expresión según la pantalla siguiente.
Seleccione Agregar un nuevo caso y escriba un valor para EmployeeId. Arrastre una actividad Sequence y, dentro de ella, agregue una actividad Assign .
Asigne las propiedades To y Value para la actividad Assign .
En Común, arrastre un WebServiceCallActivity y establezca Valores para sus argumentos.
Importante
No cambie el nombre, la dirección o el tipo de un argumento mediante este cuadro de diálogo. Si se cambia alguno de estos valores, la actividad deja de ser válida. Establezca solo el valor para el argumento . Como se muestra en esta ilustración, se establece el valor employeeID .
Por último, agregue una actividad If para comprobar las respuestas devueltas desde la operación del servicio web.
Se ha completado la eliminación del flujo de trabajo de exportación con la operación De eliminación :
Guarde este proyecto en la ubicación %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Reemplazar flujos de trabajo
Reemplace los flujos de trabajo de exportación siguiendo estos pasos en la Herramienta de configuración de servicios web.
Seleccione el flujo de trabajo de exportación que se va a configurar. En Exportar, seleccione Reemplazar. Los argumentos e importaciones ya están definidos y son específicos de las actividades. Consulte la pantalla siguiente para obtener referencia.
Agregue una actividad Sequence .
Arrastre una actividad ForEach para AnchorAttribute<>.
Agregue otra actividad ForEach<AttributeChange> para asignar valores que no son delimitadores.
Por último, la pantalla es similar a la siguiente ilustración. Las instrucciones para configurar esta actividad se proporcionan en la sección para agregar flujos de trabajo de exportación.
En Común, arrastre un WebServiceCallActivity y establezca Valores para sus argumentos.
Importante
No cambie el nombre, la dirección o el tipo de un argumento mediante este cuadro de diálogo. Si se cambia alguno de estos valores, la actividad deja de ser válida. Establezca solo el valor para el argumento . Como se muestra en esta ilustración, se establece el valor empleado .
Por último, agregue una actividad If para comprobar las respuestas que se devuelven de la operación del servicio web.
Se ha completado el reemplazo del flujo de trabajo de exportación por la operación Replace :
Guarde este proyecto en la ubicación %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Actividades de depuración
Las siguientes actividades personalizadas están disponibles para ayudar a depurar la plantilla de flujo de trabajo.
Actividad de registro
La actividad Log se usa para escribir mensajes de texto en el archivo de registro. Para obtener más información, vea Registro.
Nota
Si no puede depurar fácilmente el flujo de trabajo, pruebe a depurar el flujo de trabajo en el entorno de producción.
Para usar la actividad Log , establezca las siguientes propiedades. Las propiedades son visibles al seleccionar la actividad en Flujo de trabajo Designer y ver las propiedades de la actividad.
Actividad WriteLine
La actividad WriteLine se usa para escribir mensajes de texto en el escritor de un proveedor. Si no hay ningún escritor disponible, la actividad WriteLine escribe el texto en la ventana de la consola.
En el cuadro de texto, escriba el mensaje que desea que esté visible en el destino del escritor.
Importante
La ventana de la consola no se puede usar para esta actividad. Use otro escritor de salida de ventana para esta tarea.
Para usar la actividad WriteLine , establezca las siguientes propiedades. Las propiedades son visibles al seleccionar la actividad en Flujo de trabajo Designer y ver las propiedades de la actividad.
Nivel de registro: especifica la cantidad de contenido que se va a escribir en el valor del registro. Los valores posibles son:
- Alto: escriba el mensaje LogText en el archivo de registro si la gravedad del registro está establecida en Alta.
- Detallado: escriba el mensaje LogText en el archivo de registro si la gravedad del registro está establecida en Detallado.
- Deshabilitado: no escriba en el archivo de registro.
LogText: especifica el contenido de texto que se va a escribir en el registro.
Etiqueta: agrega una etiqueta al texto para identificar el tipo de contenido que se está escribiendo en el registro. Los valores posibles son: Error, Seguimiento o Advertencia.