We have a Sharepoint 2013 farm in our labs with which we would be interacting using the MOSS SOAP services and generating reports for a client.
To facilitate this, we create a user JohnDoe who has View Only permission level on the target site for which the report is to be generated say MySite.
When we invoke the
Webs.GetWebCollection() method in the
Webs.asmx service, we get a 401 - Access Denied and our program aborts. If we change the permission level of JohnDoe to
Contribute, then we are all good.
What permissions are needed for Webs.GetWebCollection() to be invoked successfully?.
By the way - a browser running under the context of JohnDoe can navigate to MySite and fetch the WSDL for Webs.asmx successfully.