In this post we will discuss how to populate user profile properties in InfoPath form in SharePoint 2010. Also you can check my previous post on:
create data connection with userprofile service using this link
2. Make sure you have to check "Automatic retrieve data when form is opened".
3. Add people picker to set the user account.
4. Click on data -> form load -> New -> Action -> Type name of the rule
5. Click on condition -> expand field drop down -> choose select filed or group -> expand people picker group -> select AccountId -> in the middle drop down choose is blank -> ok
6. Then click on Add dropdown -> choose set field value -> Add your desired field -> click on fx next to value box -> insert field or group -> choose userprofileByName data connection -> then expand data field -> choose value -> filter data -> choose name -> is equal to -> "Preferredname" -> Ok->Ok -> Ok
7. Like this you can set other field to get data on form load.