Workflowleitfaden für einen Webdienstconnector für ein REST-API-Beispiel
In diesem Artikel wird die Bereitstellung einer REST-Beispiel-API behandelt, um das Webdienstkonfigurationstool mit einer REST-API-Webdatenquelle zu durchlaufen.
Voraussetzungen
Für die Verwendung des Beispiels sind die folgenden Voraussetzungen erforderlich:
- Das Webdienstkonfigurationstool ist installiert.
- Der REST-Datenquellenbeispieldienst wird bereitgestellt. Laden Sie das Beispiel von herunter, und installieren Sie es (siehe hier).
Hinweis
JSON-Daten müssen ein einzelnes Objekt mit einer Eigenschaft enthalten, die ein Array enthält.
{
"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":""}
]
}
Konfigurieren der REST-Projektermittlung im Webdienstkonfigurationstool
Die folgenden Schritte zeigen, wie Sie im Webdienstkonfigurationstool ein neues Projekt für Ihre Datenquelle erstellen.
Öffnen Sie das Webdienstkonfigurationstool. Es wird ein leeres SOAP-Projekt geöffnet.
Wählen Sie Datei>Neues>REST-Projekt aus.
Wählen Sie auf der linken Seite REST-Projekt und dann Hinzufügen aus.
Geben Sie auf der nächsten Seite die folgenden Informationen ein:
- Der neue Webdienstname
- Adresse (REST-API-URL-Pfad)
- Namespace
- Sicherheitsmodus (Authentifizierungstyp)
Der folgende Bildschirm zeigt Beispiele für diese Werte:
Legen Sie den Sicherheitsmodus auf Keine fest. Legen Sie die Adresse auf den JSON-Beispielserver fest, der in Azure gehostet wird.
Klicken Sie auf OK. Das REST-Projekt, das im Webdienstkonfigurationstool aufgeführt ist.
Der nächste Schritt besteht darin, den REST-API-Aufruf zu definieren und den Aufruf in die Wcf-Aufrufe (Windows Communication Foundation) zu übersetzen.
Erweitern Sie das REST-Projekt , und wählen Sie den RESTSAMPLE-Dienst aus.
Wählen Sie Hinzufügen. Sie werden aufgefordert, zwei Werte hinzuzufügen:
- Geben Sie den Namen ein. Dieser Schritt ist im Screenshot als 3 gekennzeichnet.
- Geben Sie die Adresse ein. Dieser Schritt wird im Screenshot als 4 bezeichnet.
- Klicken Sie auf OK. Der Beschreibung für den RESTSAMPLE-Dienst wird eine REST-Ressource hinzugefügt.
Wählen Sie im Feld Ressourcen die soeben hinzugefügte REST-Ressource aus. Fügen Sie die folgende Methode hinzu:
Wählen Sie die REST-Methode aus. Beachten Sie, dass Es möglich ist, mehrere Methoden in derselben Ressource zu erstellen und die während der Ausführung übergebenen Abfragen zu definieren.
Für die GETALL-Methode sind keine Abfragen erforderlich. Lassen Sie die Parameterwerte leer. Beim Exportieren oder Importieren der REST-API müssen Sie abhängig von der Funktion die Beispielanforderung /oder -Antwort definieren. Kopieren Sie die JSON-Rückgabe, und fügen Sie ihn ein, wenn Sie zu diesem Beispiel navigieren.
Wählen Sie Speichern aus. Speichern Sie das Projekt in
C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions
.
Hinweis
Nachdem das Projekt gespeichert wurde, wird die WsConfig-Datei generiert. Die Konfigurationsdatei enthält mehrere Dateien, die zuvor in der Übersicht über den Webdienst definiert sind.
Konfigurieren von Objekttypen im Webdienstkonfigurationstool
Die folgenden Schritte zeigen, wie Sie Objekttypen für Ihre Datenquelle im Webdienstkonfigurationstool konfigurieren.
Der nächste Schritt besteht darin, das Connectorraumschema zu definieren. Dies wird erreicht, indem der Objekttyp erstellt und die zugehörigen Objekttypen definiert werden. Klicken Sie im linken Bereich auf Objekttypen , und klicken Sie auf die Schaltfläche Hinzufügen . Wenn Sie dies tun, wird der folgende Bildschirm geöffnet. Fügen Sie einen neuen Objekttyp hinzu, und geben Sie einen Namen an. Klicken Sie auf die Schaltfläche OK .
Das Hinzufügen eines Objekttyps bietet den folgenden Bildschirm.
Im rechten Bereich, der dem Objekttyp entspricht, können Sie die Attribute und deren Eigenschaften für den ausgewählten Objekttyp verwalten. Wenn Sie auf die Schaltfläche Hinzufügen klicken, wird der folgende Bildschirm angezeigt, auf dem Attribute hinzugefügt werden können.
Der folgende Bildschirm wird angezeigt, nachdem alle erforderlichen Attribute hinzugefügt wurden.
Objekttyp und Attribute nach der Erstellung stellen leere Workflows bereit, die auf die vorgänge in Microsoft Identity Manager (MIM) ausgerichtet sind.
Konfigurieren von Workflows im Webdienstkonfigurationstool
Der nächste Schritt besteht darin, die Workflows für Ihren Objekttyp zu konfigurieren. Workflowdateien sind eine Reihe von Aktivitäten, die vom Webdienstconnector zur Laufzeit verwendet werden. Die Workflows werden verwendet, um den entsprechenden MIM-Vorgang zu implementieren. Mit dem Webdienstkonfigurationstool können Sie vier verschiedene Workflows erstellen:
Importieren: Importieren Sie Daten aus einer Datenquelle für die folgenden beiden Arten von Workflows:
- Vollständiger Import: Ein vollständiger Import, der konfiguriert werden kann.
- Deltaimport: Wird vom Webdienstkonfigurationstool nicht unterstützt.
Exportieren: Exportieren von Daten aus MIM in eine verbundene Datenquelle. Die folgenden drei Aktionen werden für den Vorgang unterstützt. Sie können diese Aktionen basierend auf Ihren Anforderungen konfigurieren.
- Hinzufügen
- Löschen
- Replace
Kennwort: Führen Sie die Kennwortverwaltung für den Benutzer (Objekttyp) aus. Für diesen Vorgang sind zwei Aktionen verfügbar:
- Festlegen des Kennworts
- Kennwort ändern
Verbindung testen: Konfigurieren Sie einen Workflow, um zu überprüfen, ob die Verbindung mit dem Datenquellenserver erfolgreich hergestellt wurde.
Hinweis
Sie können diese Workflows für Ihr Projekt konfigurieren oder das Standardprojekt aus dem Microsoft Download Center herunterladen.
Workflow-Designer
Der Workflow-Designer öffnet den Arbeitsbereich, um den Workflow gemäß den Anforderungen zu konfigurieren. Für jeden Objekttyp (neu /existing) stellt das Konfigurationstool die Knoten für Workflows bereit, die vom Tool unterstützt werden.
Der Workflow-Designer besteht aus den folgenden UI-Elementen:
Knoten im linken Bereich: Mit diesen Knoten können Sie auswählen, welchen Workflow Sie entwerfen möchten.
Zentraler Workflow-Designer: Hier können Sie die Aktivitäten zum Konfigurieren der Workflows löschen. Zum Ausführen verschiedener MIM-Vorgänge (Export, Import, Kennwortverwaltung) können Sie die standardmäßigen und benutzerdefinierten Workflowaktivitäten von .NET Workflow Framework 4 verwenden. Das Webdienstkonfigurationstool verwendet standardmäßige und benutzerdefinierte Workflowaktivitäten. Weitere Informationen zu Standardaktivitäten finden Sie unter Verwenden von Aktivitätsdesignern.
Im zentralen Workflow-Designer gibt ein roter Kreis mit Ausrufezeichen neben jeder Aktivität an, dass der Vorgang gelöscht wurde und nicht ordnungsgemäß und vollständig definiert ist. Zeigen Sie auf den roten Kreis, um den genauen Fehler herauszufinden. Nachdem die Aktivität richtig definiert wurde, wechselt der rote Kreis in das gelbe Informationszeichen.
Im zentralen Workflow-Designer gibt ein gelbes Dreiecks-Informationszeichen neben jeder Aktivität an, dass die Aktivität definiert ist, aber Sie können noch mehr tun, um die Aktivität abzuschließen. Zeigen Sie auf das gelbe Dreieck, um weitere Informationen anzuzeigen.
Toolbox: Packt alle Tools, einschließlich system- und benutzerdefinierter Aktivitäten und vordefinierter Anweisungen zum Entwerfen des Workflows. Weitere Informationen finden Sie unter Toolbox.
Toolboxabschnitte: Die Toolbox verfügt über die folgenden Abschnitte und Kategorien:
Beschreibung: Der Header der Toolbox. Eine Registerkarte greift auf die Toolbox und die Eigenschaften der ausgewählten Workflowaktivität zu.
Importworkflow: Benutzerdefinierte Aktivitäten zum Konfigurieren von Importworkflows.
Exportworkflow: Benutzerdefinierte Aktivitäten zum Konfigurieren von Exportworkflows.
Allgemein: Benutzerdefinierte Aktivitäten zum Konfigurieren eines beliebigen Workflows.
Debuggen: Systemworkflowaktivitäten zum Debuggen, die in Workflow 4 definiert sind. Diese Aktivitäten ermöglichen die Problemverfolgung für einen Workflow.
Anweisungen: In Workflow 4 definierte Systemworkflowaktivitäten. Weitere Informationen finden Sie unter Verwenden von Aktivitätsdesignern.
Eigenschaften: Auf der Registerkarte Eigenschaften werden die Eigenschaften einer bestimmten Workflowaktivität angezeigt, die im Designerbereich abgelegt und ausgewählt wird. Die Abbildung auf der linken Seite zeigt die Eigenschaften der Aktivität zuweisen . Für jede Aktivität unterscheiden sich die Eigenschaften und werden beim Konfigurieren des benutzerdefinierten Workflows verwendet. Auf dieser Registerkarte können Sie die Attribute des ausgewählten Tools definieren, das im zentralen Workflow-Designer abgelegt wurde. Weitere Informationen finden Sie unter Eigenschaftendefiniert sind.
Taskleiste: Die Taskleiste enthält drei Elemente: Variablen, Argumente und Importe. Diese Elemente werden zusammen mit Workflowaktivitäten verwendet. Weitere Informationen finden Sie unter Einführung eines Entwicklers in Windows Workflow Foundation (WF) in .NET 4.
Konfigurieren eines vollständigen Importworkflows im Webdienstkonfigurationstool
Die folgenden Schritte zeigen, wie Sie vollständige Importworkflows für die REST-API mithilfe des Webdienstkonfigurationstools konfigurieren.
Warnung
In diesem Beispiel wird nur ein Workflow erstellt. Änderungen am Workflow, z. B. zur Verwendung benutzerdefinierter Logik in der API, können erforderlich sein.
Wählen Sie den zu konfigurierenden Workflow Vollständiger Import aus. Argumente undImporte sind bereits definiert und für die Aktivitäten spezifisch. Weitere Informationen finden Sie auf den folgenden Bildschirmen.
Nach der Neukonfiguration der Aufrufe müssen Sie die Namen der Attribute ändern, die den Namespace ändern, oder Variablen hinzufügen, die auf die Rückgabestruktur der API verweisen, und Objekttypen, die auf den alten Namespace verweisen. Die Toolbox im rechten Bereich enthält alle benutzerdefinierten workflowspezifischen Aktivitäten, die Sie für die Konfiguration benötigen. Weisen Sie die Werte den Variablen zu, die Sie für Ihre Logik verwenden werden. Wechseln Sie zum unteren Abschnitt des zentralen Workflow-Designers, und deklarieren Sie die Variablen. Variablen werden im nächsten Schritt deklariert.
Fügen Sie eine Sequenzaktivität hinzu. Ziehen Sie den Sequenzaktivitäts-Designer aus der Toolbox, und legen Sie ihn auf die Oberfläche des Windows Workflow-Designers ab. Weitere Informationen finden Sie auf den folgenden Bildschirmen. Die Sequence-Aktivität enthält eine geordnete Auflistung untergeordneter Aktivitäten, die in der Reihenfolge ausgeführt werden.
Um eine Variable hinzuzufügen, suchen Sie variable erstellen. Geben Sie wsResponse als Name ein, wählen Sie die Dropdownliste Variablentyp aus, und wählen Sie dann Nach Typen suchen aus. Ein Dialogfeld wird angezeigt. Wählen Sie generierte>GETALL-Antwort>aus. Lassen Sie die Werte Bereich und Standardwerte deaktiviert. Alternativ können Sie diese Werte mithilfe der Eigenschaftenansicht festlegen.
Ziehen Sie einen weiteren Sequenzaktivitäts-Designer aus der Toolbox innerhalb der bereits hinzugefügten Sequenzaktivität.
Ziehen Sie eine unter Common dargestellte WebServiceCallActivity. Diese Aktivität wird verwendet, um den nach der Ermittlung verfügbaren Webdienstvorgang aufzurufen. Dies ist eine benutzerdefinierte Aktivität, die in verschiedenen Vorgangsszenarien üblich ist.
Um den Webdienstvorgang zu verwenden, legen Sie die folgenden Eigenschaften fest:
Dienstname: Geben Sie einen Namen für den Webdienst ein.
Endpunktname: Geben Sie einen Endpunktnamen für den ausgewählten Dienst an.
Vorgangsname: Geben Sie den entsprechenden Vorgang für den Dienst an.
Argument: Wählen Sie Argumente aus. Weisen Sie im nächsten Dialogfeld die Argumentwerte zu, wie in der folgenden Abbildung gezeigt:
Wichtig
Ändern Sie den Namen, die Richtung oder den Typ für ein Argument nicht, indem Sie dieses Dialogfeld verwenden. Wenn einer dieser Werte geändert wird, wird die Aktivität ungültig. Legen Sie nur den Wert für das Argument fest. Wie in dieser Abbildung gezeigt, ist der Wert wsResponse festgelegt.
Fügen Sie eine ForEach-Aktivität direkt unterhalb von WebServiceCallActivity hinzu. Diese Aktivität wird verwendet, um alle Attribute (sowohl Anker als auch Nichtanker) des Objekttyps zu durchlaufen. Beim Ziehen dieser Aktivität in die Workflow-Designer-Oberfläche werden automatisch alle Attributnamen für Ihr Objekt aufgelistet. Legen Sie die erforderlichen Werte gemäß dem folgenden Bildschirm fest:
In einigen Fällen müssen Sie möglicherweise die generated.dll öffnen, die sich in der WsConfig-Datei befindet. Kopieren Sie diese WsConfig-Datei, und benennen Sie sie mit der Erweiterung .zip um. Öffnen und extrahieren Sie die generated.dll mithilfe Ihres bevorzugten .NET-Reflektortools.
Identifizieren Sie den öffentlichen Namespace für employeeList:
Fügen Sie als Nächstes diese Rückgabe dem Workflow ForEach hinzu:
Ziehen Sie eine CreateCSEntryChangeScope-Aktivität in den ForEach-Text . Diese Aktivität wird verwendet, um eine Instanz des CSEntryChange-Objekts in der Workflowdomäne für jeden jeweiligen Datensatz zu erstellen, während Daten aus der Zieldatenquelle abgerufen werden. Wenn Sie diese Aktivität ziehen, wird der folgende Bildschirm angezeigt. CreateAnchorAttribute-Aktivitäten werden automatisch geerbt. Aktualisieren Sie den DN-Wert auf Ihren bevorzugten Domänennamen.
Hinweis
Ankerwerte und Objektnamen variieren je nach verfügbar gemachtem Webdienst. Die Abbildung zeigt ein Beispiel.
Ziehen Sie eine CreateAttributeChange-Aktivität unter die CreateAnchorAttribute-Aktivität . Die Anzahl der zu ziehenden Aktivitäten entspricht der Anzahl der Nicht-Ankerattribute. Weitere Informationen finden Sie in der folgenden Abbildung.
Hinweis
Um diese Aktivität zu verwenden, wählen Sie die entsprechenden Felder aus der Dropdownliste aus, weisen Sie sie zu, und weisen Sie die Werte zu. Löschen Sie für mehrwertige Attribute mehrere CreateValueChangeActivity-Aktivitäten innerhalb einer CreateAttributeChangeActivity-Aktivität .
Speichern Sie dieses Projekt am Speicherort
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
. Konfigurieren Sie dann den Verwaltungs-Agent wie unter Konfiguration der Webdienst-MA beschrieben.Standardprojekte sollten heruntergeladen und am Speicherort
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
auf dem Zielsystem gespeichert werden. Die Projekte werden dann im Webdienstconnector-Assistenten angezeigt.Beim Ausführen der ausführbaren Datei werden Sie aufgefordert, den Speicherort für die Installation anzugeben. Geben Sie den Speicherort ein.
Wichtig
Die Projektdatei kann von jedem Speicherort aus (mit den entsprechenden Zugriffsberechtigungen des Executors) gespeichert und geöffnet werden. Nur Projektdateien, die
Synchronization Service\Extension
im Ordner gespeichert sind, können im Webdienstconnector-Assistenten ausgewählt werden, auf den über die MIM-Synchronisierungsoberfläche zugegriffen wird.Der Benutzer, der das Webdienstkonfigurationstool ausführt, benötigt die folgenden Berechtigungen:
- Vollzugriff auf den Ordner "Synchronisierungsdiensterweiterung".
- Lesezugriff auf den Registrierungsschlüssel
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
, über den sich der Pfad des Erweiterungsordners befindet.