Я также боролся с управлением Sharepoint через веб-сервисы. Так что я могу сказать, насколько они могут быть разборчивы с их аргументами Вот как я установил GetListItems
вызов - и он заработал:
$xmlDoc = new-object System.Xml.XmlDocument
$viewFields = $xmlDoc.CreateElement("ViewFields")
$queryOptions = $xmlDoc.CreateElement("QueryOptions")
$queryOptionsString = "<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><DateInUtc>TRUE</DateInUtc><ViewAttributes Scope='RecursiveAll' />"
$queryOptions.set_innerXML($queryOptionsString)
$query = $xmlDoc.CreateElement("Query")
$sitesWS = $service.GetListItems($docBib, "", $query, $viewFields, "", $queryOptions, "")
Уловка, я думаю, заключается в том, что я создаю элементы XML для каждого из $viewFields
, $queryOptions
и $query
(но и viewFields, и запрос могут быть пустыми, за исключением их тегов 'root').