0

我在本地 Windows 服务器中安装了共享点,可通过 LAN 访问。现在我在我的本地 apache 服务器上运行 php 中的 web 服务,如下所示:

<?php

//Authentication details
$authParams = array('login' => 'username', 'password' => 'password'); \

$listName = "TestList1";
$rowLimit = '150';
$wsdl = "http://www.blah.com/sharepoint/ListsWSDL.wsdl";

//Creating the SOAP client and initializing the GetListItems method parameters
$soapClient = new SoapClient($wsdl, $authParams);
$params = array('listName' => $listName, 'rowLimit' => $rowLimit);

//Calling the GetListItems Web Service
$rawXMLresponse = null;
try{
    $rawXMLresponse = $soapClient->GetListItems($params)->GetListItemsResult->any;
}
catch(SoapFault $fault){
    echo 'Fault code: '.$fault->faultcode;
    echo 'Fault string: '.$fault->faultstring;
}
echo '<pre>' . $rawXMLresponse . '</pre>';

//Loading the XML result into parsable DOM elements
$dom = new DOMDocument();
$dom->loadXML($rawXMLresponse);
$results = $dom->getElementsByTagNameNS("#RowsetSchema", "*");

//Fetching the elements values. Specify more attributes as necessary
foreach($results as $result){
    echo $result->getAttribute("ows_LinkTitle")."<br/>";
}
unset($soapClient);
?>
<body>
</body>
</html>

但控制将捕获块,错误显示为:

Fault code: HTTPFault string: Unauthorized

为什么会这样?

4

2 回答 2

0

首先检查 WSDL 文件,服务器位置在 wsdl 文件中,就在底部。请确保此服务器位置正确。

请为您尝试访问的此共享点站点激活“基本身份验证”(在 IIS6 中)。

于 2012-11-06T10:45:41.933 回答
0

您是否在 IIS 中启用了基本身份验证?

看看这个链接:http: //blogs.iis.net/nitashav/archive/2010/02/22/iis6-0-ui-vs-iis7-x-ui-series-basic-authentication.aspx

检查您的凭据。

尝试将 IIS 身份验证设置更改为 Kerberos。

于 2012-11-06T10:46:45.443 回答