Guía de flujo de trabajo de Web Service Connector para un ejemplo de API REST
En este artículo se describe la implementación de una API REST de ejemplo para recorrer la herramienta de configuración de servicios web con un origen de datos web de la API REST.
Requisitos previos
Se requieren los siguientes requisitos previos para usar el ejemplo:
- La herramienta de configuración del servicio web está instalada.
- Se implementa el servicio de ejemplo de origen de datos REST. Descargue e instale el ejemplo desde (consulte aquí).
Nota
Los datos JSON deben contener un solo objeto con una propiedad que contenga una matriz.
{
"EmployeeList":[
{"id":"1","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""},{"id":"2","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""}
]
}
Configuración de la detección de proyectos REST en la herramienta de configuración de servicios web
En los pasos siguientes se muestra cómo crear un nuevo proyecto para el origen de datos en la Herramienta de configuración del servicio web.
Abra la herramienta de configuración del servicio web. Abre un proyecto SOAP en blanco.
Seleccione Archivo>nuevo>proyecto REST.
A la izquierda, seleccione Proyecto REST y, a continuación, seleccione Agregar.
En la página siguiente, indique la siguiente información:
- El nuevo nombre del servicio web
- Dirección (ruta de acceso url de la API rest)
- Espacio de nombres
- Modo de seguridad (tipo de autenticación)
En la pantalla siguiente se muestran ejemplos de estos valores:
Establezca el modo de seguridad en Ninguno. Establezca la dirección en el servidor JSON de ejemplo hospedado en Azure.
Seleccione Aceptar. El proyecto REST que aparece en la Herramienta de configuración de servicios web.
El siguiente paso consiste en definir la llamada API de REST y traducir la llamada a las llamadas de Windows Communication Foundation (WCF).
Expanda el proyecto REST y seleccione el servicio RESTSAMPLE .
Seleccione Agregar. Se le pedirá que agregue dos valores:
- Escriba el nombre. Este paso se etiqueta como 3 en la captura de pantalla.
- Escriba la dirección. Este paso se etiqueta como 4 en la captura de pantalla.
- Seleccione Aceptar. Se agrega un recurso REST a la descripción del servicio RESTSAMPLE .
En el cuadro Recursos , seleccione el recurso REST que acaba de agregar. Agregue el método siguiente:
Seleccione el método REST. Tenga en cuenta que es posible crear varios métodos en el mismo recurso y definir las consultas pasadas durante la ejecución.
Para el método GETALL, no se requieren consultas. Deje los valores del parámetro en blanco. Al exportar o importar la API rest, debe definir la solicitud de ejemplo /o respuesta en función de la función . Copie y pegue la devolución json al navegar a este ejemplo.
Seleccione Guardar. Guarde el proyecto en
C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions
.
Nota
Una vez guardado el proyecto, se genera el archivo WsConfig. El archivo de configuración contiene varios archivos definidos anteriormente en la información general del servicio web.
Configurar tipos de objeto en la herramienta de configuración de servicios web
En los pasos siguientes se muestra cómo configurar los tipos de objeto para el origen de datos en la Herramienta de configuración del servicio web.
El siguiente paso es definir el esquema de espacio del conector. Esto se logra mediante la creación del tipo de objeto y la definición de sus tipos de objeto. Haga clic en Tipos de objeto en el panel izquierdo y haga clic en el botón Agregar . Al hacerlo, se abre la pantalla siguiente. Agregue un nuevo tipo de objeto y proporcione un nombre. Haga clic en el botón Aceptar .
Agregar 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. Al hacer clic en el botón Agregar se proporciona la pantalla siguiente, donde se pueden agregar atributos.
La pantalla siguiente aparece después de agregar todos los atributos necesarios.
Tipo de objeto y atributos una vez creados, proporciona flujos de trabajo en blanco que satisfacen las operaciones realizadas en Microsoft Identity Manager (MIM).
Configurar flujos de trabajo en la herramienta de configuración de servicios web
El siguiente paso es 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 de 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: 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 Diseñador de flujos de trabajo abre el área de trabajo para configurar el flujo de trabajo según los requisitos. 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 Diseñador de flujos 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.
Diseñador central de flujos de trabajo: 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 del servicio 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 Diseñador central de flujos de trabajo, 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 Diseñador central de flujos de trabajo, 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 siguientes secciones y categorías:
Descripción: encabezado del cuadro de herramientas. Una pestaña tiene acceso 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 depurar 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, vea Uso de diseñadores de actividad.
Propiedades: en la pestaña propiedades se muestran las propiedades de una actividad de flujo de trabajo determinada que se quita en el área del diseñador y se selecciona. La figura de la izquierda muestra 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 central de flujo de trabajo. 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 la API REST mediante la Herramienta de configuración de servicios web.
Advertencia
Este ejemplo solo crea un flujo de trabajo. Es posible que se requieran modificaciones en el flujo de trabajo, como para usar lógica personalizada en la API.
Seleccione el flujo de trabajo 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, debe cambiar los nombres de los atributos que cambian o agregan el espacio de nombres a variables que hacen referencia a la estructura de devolución de los tipos de objeto 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 del Diseñador de flujos de trabajo de Windows. Consulte las siguientes pantallas. La actividad Sequence contiene una colección ordenada de actividades secundarias que ejecuta en orden.
Para agregar una variable, busque Crear variable. Escriba wsResponse como Nombre, seleccione la lista desplegable Tipo de variable y, a continuación, seleccione Examinar tipos. Se muestra un cuadro de diálogo. Seleccione larespuestaGETALL>generada>. Mantenga los valores Ámbito y Predeterminados sin seleccionar. Como alternativa, establezca estos valores mediante la vista Propiedades .
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 del 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 para el 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 del Diseñador de flujos de trabajo, enumera automáticamente todos los nombres de atributo del objeto. Establezca los valores necesarios según la pantalla siguiente:
En algunos casos, es posible que tenga que abrir el generated.dll que se encuentra en el archivo WsConfig. Copie este archivo WsConfig y cámbielo por la extensión .zip. Abra y extraiga el generated.dll mediante la herramienta de reflector de .NET que prefiera.
Identifique el espacio de nombres público de EmployeeList:
A continuación, agregue esta devolución al flujo de trabajo ForEach:
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 recupera datos del origen de datos de destino. Al arrastrar esta actividad se proporciona la pantalla siguiente. Las actividades CreateAnchorAttribute se heredan automáticamente. Actualice el valor de DN al nombre de dominio que prefiera.
Nota
Los valores de delimitador 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 que no son delimitadores. Consulte la ilustración siguiente para obtener referencia.
Nota
Para usar esta actividad, elija y asigne los campos respectivos en la lista desplegable y asigne los valores. En el caso de los atributos multivalor, quite varias actividades CreateValueChangeActivity dentro de una actividad CreateAttributeChangeActivity .
Guarde este proyecto en la ubicación
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
. A continuación, configure el Agente de administración como se describe en Configuración de MA del servicio web.Los proyectos predeterminados deben descargarse y guardarse en la ubicación
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
del sistema de destino. 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 servicio web al que se tiene acceso 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.
- 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.