As we know, InfoPath forms have the ability to consume data from SharePoint’s User Profile Service Application through the SharePoint Web Services or to be more exact, through the UserProfileService.asmx web service specifically. The question is how to do that? It can be achieved by following a few simple steps as outlined below.
1. From InfoPath, click the “Data” tab in the top menu.
2. From the Data tab ribbon that opened, click “Data Connections”.
3. The “Data Connections” dialog window opens.
4. There should be one data connection named “Main Data Connection” displayed already.
5. Click the “Add” button to add a new connection.
6. The “Data Connection Wizard” appears.
7. Select the “Create a new connection to:” radio button.
8. Select the “Receive data” radio button. NOTE: These are usually set by default, but if they’re not selected on your form, select them.
9. Click the “Next” button.
10. Select the “SOAP Web service” radio button. This should be the default value, but if it isn’t, select it.
11. Click the “Next” button.
12. Now enter the location of the target service to be consumed in the edit box. In our case, we are trying to consume the “UserProfileService.asmx” service which resides in the /_vti_bin/ virtual location off your current SharePoint site. Simply copy the site URL of your site and append “/_vti_bin/UserProfileService.asmx” to it. For example, if your site URL is http://www.crayveon.com/sites/SuperTeam/default.aspx, drop the page reference and append the above text to give you a value of http://www.crayveon.com/sites/SuperTeam/_vti_bin/UserProfileService.asmx which you enter into the edit box.
13. Click the “Next” button.
14. InfoPath will connect to the web service and display the list of valid operations.
15. Scroll down the list and locate the “GetUserProfileByName” operation and select it.
16. Click the “Next” button.
17. On the parameter screen, simply click the “Next” button.
18. Ensure that the “Store a copy of the data in the form template” option is unchecked.
19. Click the “Next” button.
20. On the next screen, you can specify the name you wish to give this data connection. By default it will be called “GetUserProfileByName”, but you can change it if you’d like.
21. Click the “Finish” button.
22. The new data connection is now shown in the “Data Connections” dialog window.
23. Click the “Close” button.
Now by simply using this data connection in your form, you have access to the vast array of data made available to you via SharePoint’s User Profile Service Application.