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

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

· Neue Verbindung (Daten empfangen)

· SOAP-Webdienst auswählen

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

· Auswahl der Methode: GetUserProfileByName

· Klick auf „Weiter“

· Klick auf „Weiter“

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

· 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.

· Feld markieren, Register Eigenschaften -> Steuerelementeigenschaften

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

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

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

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

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


· 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.