PowerShell - исключение New-WebServiceProxy SOAP - PullRequest
1 голос
/ 19 июля 2011

Когда я выполняю свой код, выдается следующее исключение (на немецком языке):

Ausnahme beim Aufrufen von "GetListItems" mit 7 Аргумент (ан): «Исключение типа Возникло исключение «Microsoft.SharePoint.SoapServer.SoapServerException». *

Можно ли получить более подробную информацию об исключении Soap Server?

Мой код:

$url = "http://mysharepoint.de/websites/test/"
$docBib = "TestDocLib"

$sitesWS = New-WebServiceProxy ($url + "_vti_bin/Lists.asmx") -UseDefaultCredential
$sitesWS.Proxy = New-Object System.Net.WebProxy("")

$xmlDoc = New-Object System.Xml.XmlDocument
$xmlDoc.LoadXml("<Document><Query /><ViewFields /><QueryOptions /></Document>")
$queryNode = $xmlDoc.SelectSingleNode("//Query")
$viewFieldsNode = $xmlDoc.SelectSingleNode("//ViewFields")
$queryOptionsNode = $xmlDoc.SelectSingleNode("//QueryOptions")

$queryNode.InnerXml = "<Where></Where>"

$sitesWS.GetList("test")
$result = $sitesWS.GetListItems($docBib, $null, $queryNode, $viewFieldsNode, $null, $queryOptionsNode, $null)

1 Ответ

2 голосов
/ 19 июля 2011

Я также боролся с управлением 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').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...