InfoPath – Daten per Webservice GetUserProfileByName aus AD abrufen

Benutzer von InfoPath haben häufig den Wunsch Formulare so gut wie möglich zu automatisieren. Beispielsweise so, dass die Benutzerdaten beim Formularaufruf automatisch in die vorgesehenen Felder eingefügt werden. Hierfür wird der sog. Webservice call to GetUserProfileByName verwendet. In dem folgenden Artikel wird die Vorgehensweise Schritt für Schritt erläutert.

Die Schritte:

· Datenverbindung erstellen

clip_image002

· Über das Register Daten -> Datenverbindungen wird zuerst eine Datenverbindung erstellt.

clip_image004

· Neue Verbindung (Daten empfangen)

clip_image006

· SOAP-Webdienst auswählen

clip_image007

· Speicherort: URL der Websitesammlung “/_vti_bin/UserProfileService.asmx?WSDL”, siehe Abbildung.

clip_image009

· Auswahl der Methode: GetUserProfileByName

clip_image011

· Klick auf „Weiter“

clip_image012

· Klick auf „Weiter“

clip_image013

· Aktivieren des Kontrollkästchens „Kopie der Daten in der Formularvorlage speichern“ lässt das Arbeiten im Offlinemodus, wie oben beschrieben, zu.

clip_image014

· Namen für die Datenverbindung -> Fertig stellen

Die Datenverbindung steht. Das Formular wird erstellt, in diesem befinden sich die entsprechenden Felder, in die Daten des Mitarbeiters eingelesen werden, der das Formular öffnet. In diesem Beispiel zeige ich das anhand des Benutzernamens. Weitere Daten werden analog dazu auf die gleiche Art und Weise abgerufen.

In meinem Beispiel habe ich ein Textfeld mit der Bezeichnung „Anforderer“ verwendet.

· Um es aufzurufen, gilt es über die Steuerungstools die Steuerelementeigenschaften zu benutzen.

clip_image016

· Feld markieren, Register Eigenschaften -> Steuerelementeigenschaften

clip_image017

· Das Feld „Wert“ wird mit Klick auf die Schaltfläche „Fx“ bearbeitet.

clip_image019

· Schaltfläche „Feld oder Gruppe einfügen…“

clip_image021

· Das Feld „Felder“ wird aufgeklappt und hier die (Sekundär-) Datenquelle ausgewählt.

clip_image022

· Der „Value“ muss ausgewählt werden und Klick auf die Schaltfläche „Daten filtern“

clip_image023

· Über die Schaltfläche „Hinzufügen“ werden die Filterbedingungen gesetzt.

clip_image025

clip_image026

· Auswahl erstes Feld links -> „Name“ -> ist gleich -> Text eingeben… -> PreferredName
Hinweis: keine Anführungszeichen eingeben, diese setzt InfoPath automatisch.

Alle Fenster werden mit „OK“ geschlossen. Das Formular kann nun veröffentlicht und verwendet werden.

Der Webservice GetUserProfileByName kann ebenso hilfreich sein für das Auslesen weiterer Felder wie:
UserProfile_GUID, AccountName, FirstName, LastName, PreferredName, WorkPhone, Office, Department, Title, Manager, AboutMe, PersonalSpace, PictureURL, UserName, QuickLinks, WebSite, Assistant, WorkEmail, CellPhone, Fax, HomePhone, PublicSiteRedirect, SPS-Dotted-line, SPS-Peers, SPS-Responsibility, SPS-Skills, SPS-PastProjects, SPS-Interests, SPS-School, SPS-SipAddress, SPS-Birthday, SPS-MySiteUpgrade, SPS-DontSuggestList, SPS-ProxyAddresses, SPS-HireDate, SPS-LastColleagueAdded.

Kommentare sind geschlossen