Office

Wat kan InfoPath voor mij betekenen – Deel 7

9 januari 2012

In dit laatste deel wil ik laten zien hoe je gebruik kan maken van webservices in SharePoint. De meest interessante is de GetUserProfileByName webservice. Deze webservice maakt het mogelijk om mogelijk om profiel informatie uit SharePoint op te halen. Dit is heel erg interessant voor formulieren met velden zoals naam, e-mail, functie en manager. Deze velden kunnen automatisch worden gevuld! Dit maakt het invullen van formulieren vele gebruikersvriendelijker.

Ik wil doorgaan met het hardware request formulier uit het vorige artikel. Dit formulier bevat de velden Name, E-mail en Manager. Deze velden gaan wij nu automatisch laten vullen door middel van de Userprofile webservice. Deze webservice kan op de volgende wijze worden toegevoegd:

Klik op Data, From Web Service and SOAP. Ik kan nu de volgende URL toevoegen:

http://siteurl/_vti_bin/UserProfileService.asmx?WSDL

In het volgende scherm wordt een overzicht gepresenteerd van de vele beschikbare webservices. Wij hebben alleen de volgende nodig:

GetUserProfileByName

Ik klik een aantal keer op Next en kan daarna de Data Connectie een naam geven en opslaan. Geef deze altijd een handige naam zoals: GebruikersGegevensOphalen.

De velden Name en Manager gebruiken het Person/Group control. Deze kan helaas niet werken met de webservice. Deze verwijder ik voor een text box. Ik selecteer nu de eigenschappen van Name en ga de default value wijzigen zoals in de onderstaande afbeelding (tip: gebruik de Data Connectie onder Fields):

Klik nu op Filter Data:

Kies voor Name uit de Data Connectie zoals te zien in de eerste afbeelding. Je ziet ook PreferredName staan. Dit verwijst naar het veld in de profiel eigenschappen genaamd Name (de volledige naam). Je kunt hier dus vele waardes opgeven! Dus ook nieuwe waardes aangemaakt voor een klant. Je moet hiervoor naar de User Profile Properties in de User Profile Service Application gaan. Je vindt hier alle profiel eigenschappen, zoek de gewenste eigenschap en gebruik de waarde uit het veld Name.

Ik voer deze handeling ook voor de overige velden uit en als ik nu inlog dan krijg ik het volgende te zien:

Je ziet dat de velden automatisch worden gevuld 🙂 In het veld Manager wordt helaas nog de account naam gebruikt. Ik moet nog even uitzoeken hoe dit gewijzigd kan worden. Dit moet namelijk kunnen!

Kleine tip nog, zet de velden die je automatisch vult op read only zodat de gebruikers deze waarde niet kunnen wijzigen!

De kennis voor deze handelingen heb ik enkele jaren geleden vernomen via deze blog:

http://blogs.microsoft.co.il/blogs/itaysk/archive/2007/04/05/InfoPath-_2D00_-Get-the-current-user-without-writing-code.aspx

Indien je meer wilt weten over InfoPath dan kan ik ook de volgende experts aanbevelen:

Laura Rogers
http://www.sharepoint911.com/blogs/laura/default.aspx

Clayton Cobb
http://claytoncobb.wordpress.com/

Voorlopig is dit mijn laatste blog over InfoPath maar ik kom in de toekomst zeker terug met nieuwe delen! 🙂

 

 

 

You Might Also Like

2 reacties

  • avatar
    Reply Dorien 15 september 2015 at 10:16

    Zeker en zeer handig te weten! Dank voor de omschrijving

  • avatar
    Reply InfoPath ‘GetUserProfileByName’ webservice en SharePoint Online | SP&C NL 9 februari 2017 at 09:17

    […] een van mijn InfoPath artikelen heb ik de mogelijkheid van de GetUserProfileByName webservice […]

  • Plaats een reactie