Einen Überblick über die bereitgestellten Methoden finden Sie unter SOAP Web Service . Nachfolgend einige Beispiele für Aufrufe eines Webservice Clients in der Programmiersprache C#.
Vorbereitung
Die Authentifizierung erfolgt über eine Authentifizierungszeichenkette, die ein Authentifizierungsmodul und die zu verwendenden Anmeldeinformationen enthält. Sie müssen eine Instanz des Webservices und die Objekt für die Anmeldeinformationen zur Systemanmeldung erzeugen. Diese Anmeldeinformation wird an weitere Aufrufe weitergereicht.
Beispiel:
var svc = new Q1IMServiceSoapClient();
var login = new LoginInformation
{ AuthString = "Module=DialogUser;User=viadmin;Password=" };
Tabelle 190: Beispiele für Authentifizierung
Systembenutzer |
Module=DialogUser;User=<user name>;Password=<password> |
Person |
Module=Person;User=<central user account>;Password=<password> |
Active Directory Benutzerkonto (rollenbasiert) |
Module=RoleBasedADSAccount |
Active Directory Benutzerkonto (manuelle Eingabe/rollenbasiert) |
Module=RoleBasedManualADS;User=<AD user name>;Password=<AD password> |
Ausführliche Informationen zu den One Identity Manager Authentifizierungsmodulen finden Sie im One Identity Manager Handbuch zur Autorisierung und Authentifizierung.
GetListObject
Diese Methode gibt ein Array von Objekten zurück, die der angegebenen Where-Klausel entsprechen. Das zurückgegebene Array enthält die Primärschlüssel der Objekte und einen speziellen Schlüssel [DISPLAY], der den Anzeigewert des Objektes enthält.
Beispiel:
Q1IMService.KeyValuePair[][] objects = svc.GetListObject(login, "Person",
"FirstName like 'Hal%'");
GetListObjectWithDisplays
Diese Methode arbeitet analog zu GetListObject und erlaubt die Angabe von zusätzlich zu ladenden Spalten.
Beispiel:
Im Beispiel stehen die Spalten FirstName und LastName im Ergebnis zur Verfügung.
Q1IMService.KeyValuePair[][] objects = svc.GetListObjectWithDisplays(login, "Person",
"FirstName like 'Hal%'",
new [] {"FirstName", "LastName"});
GetCompleteSingleObject
Über die Methode werden alle Eigenschaften des Objektes, welches über die Primärschlüsselspalte (Spalte und Inhalt der Spalte) definiert ist, geladen.
Beispiel:
Q1IMService.KeyValuePair[] singleValues = svc.GetCompleteSingleObject(login,
"Person", "UID_Person", "746a5662-054b-4531-a889-1c135dad4c05");
GetSingleObject
Über diese Methode werden Eigenschaften eines einzelnen Objektes geladen.
Beispiel:
Im Beispiel werden die Spalten FirstName, LastName und der Anzeigewert geladen. Der Anzeigewert wird im Schlüssel [DISPLAY] ausgegeben.
Q1IMService.KeyValuePair[] values = svc.GetSingleObject(login, "Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05",
new[] { "FirstName", "LastName" });
ChangeSingleObject
Über diese Methode werden einzelne Eigenschaften eines Objektes geändert.
Beispiel:
Im Beispiel wird die Spalte Description der Person mit der entsprechenden UID_Person geändert.
var values = new[]
{
new Q1IMService.KeyValuePair
{
Key = "Description",
Value = "Created by webservice"
}
};
svc.ChangeSingleObject(login, "Person", "UID_Person",
"746a5662-054b-4531-a889-1c135dad4c05", values);
ChangeSingleObjectEx
Die Änderung eines Objektes über diese Methode erfolgt analog zu ChangeSingleObject, nur werden hier die Primärschlüsselwerte als Key-Value-Pair-Array übergeben.
Beispiel:
var values = new[]
{
new Q1IMService.KeyValuePair
{
Key = "Description",
Value = "Created by webservice"
}
};
var keys = new[]
{
new Q1IMService.KeyValuePair
{
Key = "UID_Person",
Value = "746a5662-054b-4531-a889-1c135dad4c05"
}
};
svc.ChangeSingleObjectEx(login, "Person", keys, values);
DeleteSingleObject
Über diese Methode wird ein Objekt gelöscht.
Beispiel:
Im Beispiel wird die Person mit der entsprechenden UID aus der Datenbank gelöscht.
svc.DeleteSingleObject(login, "Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05");
DeleteSingleObjectEx
Mit dieser Methode ist es möglich, Objekte mit mehrspaltigem Primärschlüssel, zum Beispiel aus M:N-Tabellen, zu löschen.
Beispiel:
svc.DeleteSingleObjectEx (
login,
"OrgHasApp",
new []
{
new Q1IMService.KeyValuePair { Key = "UID_Org", Value = <UID> },
new Q1IMService.KeyValuePair { Key = "UID_Application", Value = <UID>}
});
CreateSingleObject
Über diese Methode wird ein neues Objekt in der Datenbank erzeugt.
Beispiel:
Im Beispiel wird die Person "John Doe" erzeugt.
var values = new[]
{
new Q1IMService.KeyValuePair {Key = "FirstName", Value = "John"},
new Q1IMService.KeyValuePair {Key = "LastName", Value = "Doe"}
};
svc.CreateSingleObject(login, "Person", values);
Exists
Diese Methode überprüft die Existenz eines Objektes.
Beispiel:
bool exists = svc.Exists(login, "Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05");
GetSingleProperty
Diese Methode kann eingesetzt werden, um eine einzelne Eigenschaft zu ermitteln.
Beispiel:
string description = svc.GetSingleProperty(login, "Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05",
"Description");
InvokeCustomizer
Der SOAP Web Service unterstützt eine InvokeCustomizer-Methode , die eine Funktion auf einem Objekt in der Datenbank aufruft. Die ersten drei Parameter spezifizieren das Objekt, auf dem die Methode aufgerufen wird. Der Parameter customizerName gibt den Namen der Funktion an. Es folgt ein Array von Strings, in welchem die voll qualifizierten Namen der Datentypen der Parameter stehen, die der aufzurufenden Funktion übergeben werden sollen. Das folgende Array von Strings enthält die textuelle Repräsentation der Parameter.
Arbeitsweise der Funktion:
-
Als erstes wird die Datenbank geöffnet und das Objekt, welches durch objectType, pkName und pkValue spezifiziert worden ist, geholt.
-
Anschliessend werden die Runtime-Datentypen ermittelt, welche durch parameterTypes angegeben werden.
-
Danach werden die Text-Repräsentationen der Parameter aus dem Werte Array in korrespondierende der Runtime-Datentypen konvertiert.
-
Mit diesen Werten wird die Funktion aufgerufen.
Hat die aufzurufende Funktion keine Parameter, so kann der Funktion für die Parameter parameterTypes und parameters der Wert null übergeben werden.
Beispiel:
Im Beispiel wird die Methode "TestMethod" auf einem Objekt vom Typ Person mit der Primärschlüsselspalte UID_Person und dem angegebenen Wert, aufgerufen. Dabei werden die beiden Parameter vom Typ System.String und System.Int32 mit den Werten "Foo" und "4711" übergeben.
svc.InvokeCustomizer (login, "Person",
"UID_Person", "0000644F-C139-4B25-8D1C-5ECB93067E79",
"TestMethod",
new [] {"System.String", "System. Int32"},
new [] {"foo", "4711"});
InvokeDialogMethod
Die Methode kann eine Dialogmethode auf einem Objekt aufrufen. Dialogmethoden besitzen keine Parameter und keine Rückgabewerte. Der Aufruf ähnelt dem Aufruf von InvokeCustomizer.
Beispiel:
Im Beispiel wird die Methode "TestDialogMethod" für eine bestimmte Person aufgerufen. "TestDialogMethod" ist die Bezeichnung der Methode entsprechend DialogMethod.MethodName.
svc.InvokeDialogMethod (login,
"Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05",
"TestDialogMethod");
FireGenEvent
Über diese Methode werden die Prozesse eines bestimmten Ereignisses generiert. Es besteht die Möglichkeit, zusätzliche Generierungsparameter anzugeben.
public void FireGenEvent(
string objectType, string pkName, string pkValue,
strincolumng eventName, KeyValuePair[] parameters);
Beispiel:
Im Beispiel wird das Ereignis "EXPORT_DATA" ohne zusätzliche Parameter generiert.
svc.FireGenEvent(login, "Person",
"UID_Person", "746a5662-054b-4531-a889-1c135dad4c05",
"EXPORT_DATA", new Q1IMService.KeyValuePair[] { });
CallFunction
Diese Methode ruft eine Funktion der One Identity Manager Skriptbibliothek auf.
Beispiel:
Im Beispiel wird das Skript VI_BuildInitials aufgerufen.
svc.CallFunction(login, "VI_BuildInitials",
new string [] {"John", "Doe"});