I've been trying to connect to our SharePoint server's webservices
with PHP. I downloaded the nusoap library and have been trying to make
a connection using sample code from various websites. I keep getting
the following error:

<h1>You are not authorized to view this page</h1>
You do not have permission to view this directory or page using the
credentials that you supplied because your Web browser is sending a
WWW-Authenticate header field that the Web server is not configured to
<h2>HTTP Error 401.2 - Unauthorized: Access is denied due to server
configuration.<br>Internet Information Services (IIS)</h2>

My code looks like this:


/*  Your username and password, separated by a colon
    Domain may be optional, depending on your setup */
$auth = "username:password";

/*  Location of the Lists.asmx file
    If the list is in a subsite, the subsite must be in the path */
$wsdl = "http://domain.com/depts/is/private/_vti_bin/Lists.asmx?WSDL";;

/*  GUID of the list */
$guid = "Shared Documents";

/* Setup NuSOAP
   Sharepoint requires NTLM Authorization
   You need a fairly recent version of CURL installed for this  */
try {
        $client = new nusoap_client($wsdl,true);
        $client->setCurlOption(CURLOPT_USERPWD, $auth);
        //$client->soap_defencoding = 'UTF-8';

        $xml = '
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    <GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/";>
      <listName>' . $guid . '</listName>
      <viewName>All Documents</viewName>

        $result = $client->call("GetListItems",$xml);
        if(isset($fault)) {
                echo "<p>Error: " . $fault . "</p>\n";
        echo "<pre>\$result = " .
htmlspecialchars(print_r($result,true)) . "</pre>\n";
catch(Exception $e) {

        echo "<p>" . $e->getMessage() . "</p>\n";

Our SharePoint server uses integrated authentication. I've tried
several permutations of the username, including just the username,
domain\username and usern...@domain. All are returning the same error.
My guess is that PHP is sending the username/password combination in a
way that SharePoint doesn't like.

Has anyone been able to connect to SharePoint's web services and if so, how?


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to