Copy link to clipboard
Copied
I am trying to retrieve the contents of a SharePoint list via the cfsharepoint tag. I used the following code:
<cfset p = structNew()>
<cfset p.listName = "{7A81F7A3-B6E9-4990-B54A-937F591A402B}">
<cfsharepoint
action="getlist"
params="#p#"
domain="www.mysite.com"
name ="SPList"
password="mypassword"
userName="myusername" />
The server returns
Cannot perform web service invocation getlist.
The fault returned when invoking the web service operation is:
AxisFault
faultCode: {http://www.w3.org/2003/05/soap-envelope}Receiver
faultSubcode:
faultString: Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.
faultActor:
faultNode:
faultDetail:
{http://schemas.microsoft.com/sharepoint/soap/}errorstring:
List does not exist.
The page you selected contains a list that does not exist. It may have been deleted by another user.
{http://schemas.microsoft.com/sharepoint/soap/}errorcode:0x82000006
''
The list does exist, and the user account has access to it. I can access the list data from an RSS feed using cfhttp, I just thought it might be easier to work with the data if I accessed it using cfsharepoint instead. Any suggestions are appreciated.
(On a side note, when I searched the Adobe Forums for "SharePoint getlist" it asked me if I meant to search for "harpoon gels." Harpoon gels!)
Copy link to clipboard
Copied
I tried to send the same SOAP request using Wget, and it returns a 401 Unauthorized message. I am inclined to believe that this is probably what is getting returned to CF as well, so this issue is probably not CF-related at all.
Copy link to clipboard
Copied
You need to see if you can fetch the list with credentials passed through Basic Authentication. CF doesn't support NTLM or Kerberos for SharePoint authentication.
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
http://training.figleaf.com/
Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on
GSA Schedule, and provides the highest caliber vendor-authorized
instruction at our training centers, online, or onsite.
Copy link to clipboard
Copied
I had mistakenly assumed that basic auth was working, since I was able to fetch SharePoint pages with cfhttp (which, according to the docs, "Does not provide support for Integrated Windows, NTLM, or Kerebos authentication"). Basic authentication is enabled on the server, in addition to NTLM, but my Wget tests do return a "WWW-Authenticate: NTLM" header.
Copy link to clipboard
Copied
If the server supports both Basic and NTLM, you should be OK. Can you try using wget to make a Basic auth request?
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
http://training.figleaf.com/
Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on
GSA Schedule, and provides the highest caliber vendor-authorized
instruction at our training centers, online, or onsite.
Copy link to clipboard
Copied
I don't think there is a way to force Wget to use basic auth, but I tried cURL instead -- the request with basic auth returned a 401 unauthorized, but the NTML request succeeded. The trouble would appear to be in the SharePoint configuration somewhere.
In the SharePoint administrator, under Authentication Providers and the Default zone (the only zone listed), the IIS Authentication Settings show that both Integrated Windows authentication (NTLM specified) and Basic authentication are selected. It's possible, though, that that user credentials I'm using don't work with basic auth. I'll check with our systems group.
Thanks for your help. Based on the error message I was getting, I'm not sure I ever would have guessed that authentication was at issue!
Copy link to clipboard
Copied
I didn't know that about wget - interesting!
I don't think there are any user-specific settings for Basic vs NTLM Auth, though. I suspect there's some other setting in SharePoint to control this. Unfortunately, SharePoint isn't a typical IIS web app.
I'm glad I could help!
Dave Watts, CTO, Fig Leaf Software
http://www.figleaf.com/
http://training.figleaf.com/
Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on
GSA Schedule, and provides the highest caliber vendor-authorized
instruction at our training centers, online, or onsite.