Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Obsolete. Use the managed client object model to perform queries against SharePoint Foundation site and list data, instead. This Web service is an adapter service that provides a method for performing queries, and it is maintained for backward compatibility.
Namespace: [DspSts Web service]
Web service reference: http://Site/_vti_bin/DspSts.asmx
Syntax
'Declaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/dsp/queryRequest", Use := SoapBindingUse.Literal, _
ParameterStyle := SoapParameterStyle.Bare)> _
<SoapHeaderAttribute("dataRoot")> _
<SoapHeaderAttribute("authentication")> _
<SoapHeaderAttribute("request")> _
<SoapHeaderAttribute("versions", Direction := SoapHeaderDirection.InOut)> _
Public Function Query ( _
queryRequest As QueryRequest _
) As XmlNode
'Usage
Dim instance As StsAdapter
Dim queryRequest As QueryRequest
Dim returnValue As XmlNode
returnValue = instance.Query(queryRequest)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/dsp/queryRequest", Use = SoapBindingUse.Literal,
ParameterStyle = SoapParameterStyle.Bare)]
[SoapHeaderAttribute("dataRoot")]
[SoapHeaderAttribute("authentication")]
[SoapHeaderAttribute("request")]
[SoapHeaderAttribute("versions", Direction = SoapHeaderDirection.InOut)]
public XmlNode Query(
QueryRequest queryRequest
)
Parameters
queryRequest
Type: [DspSts Web service].QueryRequestA QueryRequest object that expresses a query in DSPQ (data retrieval service query) or Pass-Through format.
Return Value
Type: System.Xml.XmlNode
A System.Xml.XmlNode object that contains the query result as follows, which includes a schema section and a data section:
<dsQueryResponse status="success" xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<x:schema xmlns:d="https://schemas.microsoft.com/sharepoint/dsp" xmlns:x="http://www.w3.org/2001/XMLSchema">
<x:element name="List_Name">
<x:complexType>
<x:sequence maxOccurs="unbounded">
<x:element name="List_Name_Row" minOccurs="0">
<x:complexType>
<x:sequence>
<x:element name="ID" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="ID" type="x:int" />
<x:element name="Title"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;Contains;BeginsWith;"
d:displayName="Title" type="x:string" />
<x:element name="Modified" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="Modified" type="x:dateTime" />
<x:element name="Created" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="Created" type="x:dateTime" />
<x:element name="Author" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="Created By">
<x:simpleType>
<x:restriction base="x:string">
<x:enumeration value="User_Name" />
</x:restriction>
</x:simpleType>
</x:element>
<x:element name="Editor" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="Modified By">
<x:simpleType>
<x:restriction base="x:string">
<x:enumeration value="User_Name" />
</x:restriction>
</x:simpleType>
</x:element>
<x:element name="Attachments" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;"
d:displayName="Attachments" type="x:boolean" />
<x:element name="Number_Column" minOccurs="0"
d:filterSupport="IsNull;IsNotNull;Eq;Neq;Lt;Gt;Leq;Geq;"
d:displayName="Number_Column" type="x:float" />
</x:sequence>
</x:complexType>
</x:element>
</x:sequence>
</x:complexType>
</x:element>
</x:schema>
<List_Name >
<List_Name_Row>
<ID>1</ID>
<Title>Value</Title>
<Modified>2003-10-01T22:13:57</Modified>
<Created>2003-10-01T22:13:57</Created>
<Author>User_Name</Author>
<Editor>User_Name</Editor>
<Attachments>0</Attachments>
<Number>100</Number>
</List_Name_Row>
<List_Name_Row>
<ID>3</ID>
<Title>Value</Title>
<Modified>2003-10-01T22:14:23</Modified>
<Created>2003-10-01T22:14:23</Created>
<Author>User_Name</Author>
<Editor>User_Name</Editor>
<Attachments>0</Attachments>
<Number>300</Number>
</List_Name_Row>
</List_Name>
</dsQueryResponse>
Remarks
SharePoint Foundation does not support date-time values in XSD format, so time is ignored when the Query method is used.
The following table describes properties on the list or site object that is returned.
Name |
Description |
---|---|
comparisonLocale |
Optional. Specifies the default Windows locale identifier for a RowReturning object. This attribute is not defined for non-RowReturning objects. |
contentType |
Required. Specifies the content type of the object returned, which is always set to RowReturning for list objects and to TableReturning for site objects. |
displayName |
Optional. Specifies a string containing the friendly name for the list or site object. This property is always returned. |
id |
Required. A string that identifies the list or site object. |
querySupport |
Optional. Only the data retrieval service query (DSPQ) is supported. |
serverParameters |
Required. Always none for list and site objects. |
SupportFiltering |
Optional. Specifies whether filtering is supported. Always true for RowReturning objects. Although false for non-RowReturning objects, the unsafe and serverParameters fields can still be filtered. |
SupportOrdering |
Optional. Specifies whether ordering is supported. Always true. |
supportPaging |
Optional. The adapter supports forward-only paging as defined in data retrieval service protocol. When paging is requested in the query by specifying startPosition="" within the <dsQuery> element, the adapter generates an XML BLOB that can be used to retrieve the next batch of rows. This XML BLOB is returned through the next attribute in the <dsQueryResponse> element returned. The client can then set the startPosition attribute to this BLOB and repeat the original query to retrieve the next set of rows. |
unsafe |
Optional. Because all site and list objects are safe, this attribute is always set to false. |
Examples
The following code example uses the Query method to return items from a SharePoint list in which the Author column contains a specified name and the Number column contains values greater than a specified value.
Dim myStsAd As New Web_Reference_Name.StsAdapter()
myStsAd.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim vArray(0) As String
vArray(0) = "1.0"
Dim myVersion As New Web_Reference_Name.Versions()
myVersion.version = vArray
myStsAd.versions = myVersion
Dim reqHeader As New Web_Reference_Name.RequestHeader()
reqHeader.document = Web_Reference_Name.DocumentType.content
reqHeader.method = Web_Reference_Name.MethodType.query
myStsAd.request = reqHeader
Dim myRequest As New Web_Reference_Name.QueryRequest()
Dim sQuery As New Web_Reference_Name.DSQuery()
sQuery.select = "/list[@id='{e5c6603b-0f6c-4bd9-8bb1-57c83854308b}']"
myRequest.dsQuery = sQuery
Dim spQuery As New Web_Reference_Name.DspQuery()
Dim xmlDoc = New System.Xml.XmlDocument()
Dim ndQuery As XmlElement = xmlDoc.CreateElement("And")
ndQuery.InnerXml = "<Eq><FieldRef Name='Author'/>" & _
"<Value>Name</Value></Eq>" & _
"<Gt><FieldRef Name='Number'/><Value>Number</Value></Gt>"
spQuery.Where = ndQuery
myRequest.dsQuery.Query = spQuery
Try
Dim myNode As XmlNode = myStsAd.Query(myRequest)
MessageBox.Show(myNode.OuterXml)
Catch ex As System.Web.Services.Protocols.SoapException
MessageBox.Show(ex.Message & ex.StackTrace)
End Try
Web_Reference_Folder.StsAdapter myStsAd = new Web_Reference_Folder.StsAdapter();
myStsAd.Credentials= System.Net.CredentialCache.DefaultCredentials;
string[] vArray = new string[1];
vArray[0] = "1.0";
Web_Reference_Name.Versions myVersion = new Web_Reference_Name.Versions();
myVersion.version = vArray;
myStsAd.versions = myVersion;
Web_Reference_Name.RequestHeader reqHeader = new Web_Reference_Name.RequestHeader();
reqHeader.document = Web_Reference_Name.DocumentType.content;
reqHeader.method = Web_Reference_Name.MethodType.query;
myStsAd.request = reqHeader;
Web_Reference_Name.QueryRequest myRequest = new Web_Reference_Name.QueryRequest();
Web_Reference_Name.DSQuery sQuery = new Web_Reference_Name.DSQuery();
sQuery.select = "/list[@id='{e5c6603b-0f6c-4bd9-8bb1-57c83854308b}']";
myRequest.dsQuery = sQuery;
Web_Reference_Name.DspQuery spQuery = new Web_Reference_Name.DspQuery();
XmlDocument xmlDoc = new System.Xml.XmlDocument();
XmlElement ndQuery = xmlDoc.CreateElement("And");
ndQuery.InnerXml = "<Eq><FieldRef Name=\"Author\"/>" +
"<Value>Name</Value></Eq>" +
"<Gt><FieldRef Name=\"Number\"/>" +
"<Value>Number</Value></Gt>";
spQuery.Where = ndQuery;
myRequest.dsQuery.Query = spQuery;
try
{
XmlNode myNode = myStsAd.Query(myRequest);
MessageBox.Show(myNode.OuterXml);
}
catch (System.Web.Services.Protocols.SoapException ex)
{
MessageBox.Show(ex.Message + ex.StackTrace);
}
SOAP Request Format
The following example shows the syntax of a SOAP request made through the data retrieval service. The placeholders shown must be replaced with actual values.
POST /_vti_bin/DspSts.asmx HTTP/1.1
Host: Server_Name
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://schemas.microsoft.com/sharepoint/dsp/queryRequest"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<authentication
xmlns="https://schemas.microsoft.com/sharepoint/dsp">xml</authentication>
<dataRoot allowRemoteDataAccess="boolean"
xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<root>string</root>
</dataRoot>
<request document="content or system"
method="query"
xmlns="https://schemas.microsoft.com/sharepoint/dsp" />
<versions xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<version>string</version>
<version>string</version>
</versions>
</soap:Header>
<soap:Body>
<queryRequest
xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<dsQuery select="string"
resultContent="both or schemaOnly or dataOnly"
columnMapping="element or attribute"
resultNamespace="string"
resultPrefix="string"
resultRoot="string"
resultRow="string"
startPosition="string"
comparisonLocale="string">
<Query RowLimit="long">
<ServerParameterInfo />
<Fields>
<Field
xsi:nil="true" />
<Field xsi:nil="true" />
<AllFields xsi:nil="true" />
</Fields>
<ServerParameters>
<ServerParameter
xsi:nil="true" />
<ServerParameter xsi:nil="true" />
</ServerParameters>
<Where>xml</Where>
<OrderBy>
<OrderField
xsi:nil="true" />
<OrderField
xsi:nil="true" />
</OrderBy>
</Query>
</dsQuery>
<ptQuery>xml</ptQuery>
</queryRequest>
</soap:Body>
</soap:Envelope>
SOAP Response Format
The following example shows the syntax of a SOAP response returned through the data retrieval service. The placeholders shown must be replaced with actual values.
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<versions
xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<version>string</version>
<version>string</version>
</versions>
</soap:Header>
<soap:Body>
<queryResponse
xmlns="https://schemas.microsoft.com/sharepoint/dsp">
<xsd:schema>schema</xsd:schema>xml</queryResponse>
</soap:Body>
</soap:Envelope>