In dit artikel informatie over het toevoegen van de voornaam, e-mailadres, manager enz.van de huidige gebruiker in een InfoPath formulier.
Een van de mogelijkheden om een InfoPath formulier te gebruiken is om informatie van de huidige gebruiker bij te werken. Laat de gebruiker zijn eigen gegevens actualiseren aangezien hij het beste weet in welke straat hij woont, tenminste dat hopen we dan maar.
Omdat het InfoPath formulier wordt geopend in SharePoint onder de huidige gebruiker kan dit gebruikt worden om meer informatie te verzamelen van die gebruiker via de SharePoint web service GetUserProfileByName. Natuurlijk dient deze informatie eerst in SharePoint te staan voordat hij kan worden opgehaald. Als bijvoorbeeld het veld manager in Active Directory niet gevuld is en in SharePoint ook niet is het opvragen van dit veld nutteloos.
Aangezien ik een Engelse versie van InfoPath gebruik zijn de velden in het Engels maar via de screenshots moet het mogelijk zijn om dit in een Nederlandse InfoPath na te maken
Selecteer het tabblad Data en klik op Data Connections
Klik op Add om een nieuwe data connection aan te maken

Selecteer Receive data en klik op Next

Selecteer de SOAP Web service in InfoPath 2010 of in InfoPath 2007 alleen Web service

Geef de URL van de SharePoint server op en vul deze aan met /_vti_bin/userprofileservice.asmx
Voeg niet de bibliotheek toe van het InfoPath formulier aan de URL omdat dit een foutmelding genereert.

Selecteer GetUserProfileByName uit de beschikbare opties

Klik op next om de Data connectie op te slaan

De web service connectie is nu aangemaakt,
Maak nu een veld aan waar de gegevens in opgeslagen dienen te worden
Ga naar de eigenschappen van het veld en klik op fx

Selecteer Insert Field or Group

Bij Data source selecteer je de web service en selecteer Valua. Nu met Value nog steeds geselecteerd klik op Filter Data

Selecteer Add

Selecteer in het eerste veld select ‘Select a field or group, choose the ‘Name’ field under the ‘PropertyData’.

Laat het tweede veld ‘is equal to staan en selecteer in het derde veld ‘Type text…’ om vervolgens FirstName in te type. Hiermee wordt de voornaam van de gebruiker opgehaald

De volgende lijst met velden kunnen worden opgehaald met web service GetUserProfileByName:
- AccountName
- FirstName
- LastName
- PreferredName
- WorkPhone
- Office
- Department
- Title
- Manager
- AboutMe
- PersonalSpace
- PictureURL
- UserName
- QuickLinks
- WebSite
- 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
- SPS-OWAUrl
- SPS-ResourceAccountName
- SPS-MasterAccountName
- Assistant
- WorkEmail
- CellPhone
- Fax
- HomePhone