I'm trying to consume the standard SharePoint web service GetWeb in the code-behind of an InfoPath form. The form is hosted as part of a workflow, so loaded inside the browser with Forms Services. It therefore runs on the credentials of the current user logged into SharePoint. The web service runs if the user is in the Owner group of the site but it gives an 'HTTP 401 Unauthorised' error if the user is in the Contributer or Reader groups. I also use the GetLists web service just after this but it runs provided the user has Reader permissions.
I only use the GetWeb call in order to get the WebId which the GetList call requires as a param. I got round my permissions problem by passing the WebId into the form opposed to having the form look it up. So all is okay now.
However, I would like to know why GetWeb requires higher permissions and how/if these permission's can be controlled. I've not found any documentation on the permissions that the different out of the box web services require, let alone how you change them.
[NOTE] I'm not using data connection files for a reason, but thankyou for suggesting them anyway.