Whatever message this page gives is out now! Go check it out!

cfsharepoint

Last update:
Jun 9, 2026

Description

Invokes a feature that SharePoint exposes as a web service action, such as the Document Workspace  getdwsdata  action.

Category

Extensibility tags, MS Office Integration tags.

Syntax

<cfsharepoint 
action="webservice action" 
params="parameter structure" 
domain="domain name" 
name ="result variable name" 
password="connection password" 
userName="user ID" 
wsdl="WSDL file path"> 
or 

<cfsharepoint 
action="webservice action" 
params="parameter structure" 
login = "credentials structure" 
name ="result variable name" 
wsdl="WSDL file path">

With NTLM attributes

<cfsharepoint
authType="NTLM"
action="webservice action"
params="parameter structure"
domain="domain name"
ntlmdomain="domain where user is registered"
workstation="workstation name"
name="result variable name"
password="connection password"
username="user ID"
wsdl="WSDL file path">
Note:
When the login attribute is used, then the NTLM attributes must go into the login struct. For example,
<cfscript>
loginStruct = {domain="myDomain", username="userName", password="pa$$w0rd",authtype="ntlm", ntlmdomain="myNTLMDomain"};
cfsharepoint(action="getlistcollection", login=loginStruct, name="myResult");
writeDump(myResult);
</cfscript>
Note:
You can specify this tag's attributes in an attributeCollection attribute whose value is a structure. Specify the structure name in the attributeCollection attribute and use the tag's attribute names as structure keys.

History

Adobe ColdFusion (2016 release): Added the authType , ntlmDomain, and workstation attributes.
ColdFusion 9: Added tag.

Attributes

AttributeReq/OptDefaultDescription
actionRequired The name of a web service action. See Usage for the list of service actions you can specify.
authTypeOptional The authentication type to use. You can use NTLM or BASIC.
domainOptional The domain name required to connect to the SharePoint server. Required if you do not specify a login attribute.
loginOptional A structure containing user, password, and domain login credentials to pass to the service. If you do not specify domain, password, and userName attributes, specify a login structure with  domain , password, and userName entries.
nameOptional Name of the result variable in which to put the data returned by the SharePoint service.
ntlmDomainIf authType=NTLM,  ntlmDomain  is required. 
Domain in which a user is registered.
Note:  When a user is part of a domain, the  ntlmDomain  attribute is mandatory. When a user is not part of a domain, the  ntlmDomain  attribute is not mandatory.
paramsOptional A structure containing names and values of the parameters to pass to the service. This attribute is required for any service that requires parameters.
passwordOptional The password required to connect to the SharePoint server. Required if you do not specify a login attribute.
userNameOptional The user name required to connect to the SharePoint server. Required if you do not specify a login attribute.
wsdlOptional Path to the service  wsdl  file. Required to invoke an action that is not in the list of supported actions. See Usage for details.
workstationOptional Host name of the client machine.

Usage

The cfsharepoint tag invokes a Microsoft SharePoint web service. You call many SharePoint web service actions by specifying the action name in the action attribute and passing the web service parameters in the params attribute. You access the services and methods that the cfsharepoint tag does not support directly by specifying the service WSDL URLs in the wsdl attribute.
You request a service and action by specifying the action attribute values listed in the following tables. In nearly all cases, these are identical to the SharePoint action names. Notes indicate where the attribute values differ from the action names because multiple services have the same action name.
Note:
The web service action parameters are documented at http://msdn.microsoft.com/en-us/library/dd878586(v=office.12).aspx. You can also determine the parameters from the web service WSDL, at http://server_name/_vti_bin/WebServiceName?wsdl.
Note:
For some SharePoint operations, the WSDL contains out parameters. In the  cfsharepoint tag, the input and output parameters are passed in the param attribute, which is a struct containing key value pairs of input and output parameters.
The SharePoint web service response for individual out parameters will be populated in the struct passed as the  cfsharepoint  param attribute. It will not be available as part of the result attribute of the tag.
When the  cfsharepoint  tag receives the results from the SharePoint server and completes, the structure specified by the name attribute contains the response. This structure also has a ResultFlag entry containing the value Success or Failure. The entry value is Success if there is no Axis Fault or an error is returned in the response, otherwise, the value is Failure.
Document Workspace
cancreatedwsurl
deletedwsfolder
renamedws
createdws
finddwsdoc
updatedwsdata
createdwsfolder
getdwsdata
deletedws
removedwsuser
Note:
The createdwsfolder and deletedwsfolder action attribute values correspond to the createfolder and deletefolder actions of the Document Workspace service.

Imaging

delete
getitemsbyids
upload
download
listpicturelibrary
getimaginglistitems
rename
Note:
The getimaginglistitems action attribute value correspond to the getlistitems action of the Imaging service.

Lists

addattachment
getattachmentcollection
updatelist
addlist
getlist
updatelistitems
deleteattachment
getlistcollection
deletelist
getlistitems

Search or spsearch

spsearch/search is not present in Windows SharePoint Services 2.0.
In Windows SharePoint Services 3.0, if the action attribute specifies any of the following actions, the spsearch.asmx web service is used to perform the search. In Microsoft Office SharePoint Portal Server 2003 or Microsoft Office SharePoint Server 2007, search.asmx is used to perform the search. In Windows Sharepoint Services 2.0, an exception is thrown.
query
registration
queryex
status

UserGroup

addgrouptorole
getgroupcollection
removerole
addrole
getrolecollection
removeusercollectionfromgroup
addusercollectiontogroup
getusercollectionfromrole
removeuserfromgroup
addusercollectiontorole
getusercollectionfromrole
addusertogroup
getuserinfo

Views

addview
getview
updateview
deleteview
getviewcollection

Data type conversion

Some web service actions require parameters in a Microsoft data type that does not correspond directly to a ColdFusion data type. The cfsharepoint tag automatically converts between the Microsoft data types and the most appropriate Java data types, which ColdFusion uses internally. The following table lists the conversions, and indicates the corresponding ColdFusion data type.
SharePoint data type
ColdFusion Java data type
XmlNode
XMLNodeList - corresponds to a ColdFusion XML object, for example created by passing an XML string to the XmlParse function.)
ArrayOfString
string array - corresponds to a ColdFusion array containing string data.
UnsignedInt
int - corresponds to a ColdFusion number that is an integer value
ArrayOfUnsignedInt
int array - corresponds to a ColdFusion array containing string data.

Example

The following example shows how you can manipulate lists and views. It requires resources on the SharePoint server that are not specified here.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
<title>cfsharepoint Views Example</title> 
</head> 

<body> 
<cfoutput> 

Getting the list collection<br /> 
<!--- All login information is defined using variables in the Application.cfc file. ---> 
<cfsharepoint action="getlistcollection" login="#login#" name="result"/> 

result.ResultFlag: #result.ResultFlag#<br><br> 

Deleting mycustomlist from the collection, if it exists.<br> 
<cfloop array=#result.lists# index="list"> 
<cfif list.Title EQ "mycustomlist"> 
<cfsharepoint action="deletelist" login="#login#" 
name="result1" params="#{listname="mycustomlist"}#"/> 
</cfif> 
</cfloop> 

Was anything deleted? 
<cfif IsDefined("result1")> 
<b>YES.</b> The result is:</b><br> 
<cfdump var="#result1#"><br> 
<cfelse> 
<b>NO</b> 
</cfif> 

Adding a mycustomlist list<br /> 
<cfsharepoint action="addlist" login="#login#" name="result1" 
params="#{listname="mycustomlist", 
description="Adding a list via cfsharepoint", 
templateid=100}#"/> 

addlist result.ResultFlag: #result1.ResultFlag#<br><br> 


<cfset viewFields = xmlparse("<ViewFields> 
<FieldRef Name='Title'/> 
<FieldRef Name='ID'/> 
</ViewFields>")> 

<cfset query = xmlparse("<Query> 
<Where> 
<Lt> 
<FieldRef Name='ID'/> 
<Value Type='Counter'>10</Value> 
</Lt> 
</Where> 
<OrderBy> 
<FieldRef Name='ID'/> 
</OrderBy> 
</Query>")> 

<cfset rowlimit = xmlparse("<RowLimit Paged='True'>50</RowLimit>")> 

Adding a myview1 view for the mycustomlist list<br /> 
<cfsharepoint action="addview" login="#login#" name="result" 
params="#{listName="mycustomlist",viewname="myview1", 
viewFields="#viewFields#", query="#query#",rowlimit="#rowlimit#", 
type="grid",makeViewDefault=false}#"/> 

addview result.ResultFlag: #result.ResultFlag#<br><br> 


Adding a myview3 view for the mycustomlist list<br /> 
<cfsharepoint action="addview" login="#login#" name="result" params="#{listName="mycustomlist",viewname="myview3",viewFields="#viewFields#", 
query="#query#",rowlimit="#rowlimit#",type="grid",makeViewDefault=false}#"/>

addview result.ResultFlag: #result.ResultFlag#<br><br> 

Getting the updated mycustomlist view collection<br> 
<cfsharepoint action="getviewcollection" login="#login#" name="result" 
params="#{listName="mycustomlist"}#"/> 

<b>getviewcollection result</b><br> 
<cfdump var="#result#"><br /> 

The names of the collection's views:<br> 
<cfloop array=#result.views# index=v> 
<cfoutput>#v.displayname#<br></cfoutput> 
</cfloop> 
<br> 

Deleting the list<br> 
<cfsharepoint action="deletelist" login="#login#" name="result1" params="#{listname="mycustomlist"}#"/> 

deletelist result.ResultFlag: #result1.ResultFlag# 
</cfoutput> 

</body> 
</html>

Share this page

Was this page helpful?
We're glad. Tell us how this page helped.
We're sorry. Can you tell us what didn't work for you?
Thank you for your feedback. Your response will help improve this page.

On this page