StsAdapter.Query - Méthode
Obsolète. Utilisez plutôt le modèle objet client managé pour exécuter des requêtes sur les données de liste et de site SharePoint Foundation. Ce service Web est un service d’adaptateur qui fournit une méthode permettant d’exécuter des requêtes, et il est maintenu à des fins de compatibilité descendante.
Espace de noms : WebSvcDspSts
Assembly : STSSOAP (dans STSSOAP.dll)
Syntaxe
'Déclaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sharepoint/dsp/queryRequest", Use := SoapBindingUse.Literal, _
ParameterStyle := SoapParameterStyle.Bare)> _
<SoapHeaderAttribute("dataRoot")> _
<SoapHeaderAttribute("request")> _
<SoapHeaderAttribute("versions", Direction := SoapHeaderDirection.InOut)> _
<SoapHeaderAttribute("authentication")> _
Public Function Query ( _
queryRequest As QueryRequest _
) As XmlNode
'Utilisation
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("request")]
[SoapHeaderAttribute("versions", Direction = SoapHeaderDirection.InOut)]
[SoapHeaderAttribute("authentication")]
public XmlNode Query(
QueryRequest queryRequest
)
Paramètres
queryRequest
Type : WebSvcDspSts.QueryRequestUn objet QueryRequest exprimant une requête en DSPQ (requête de service data retrieval) ou format de relais.
Valeur renvoyée
Type : System.Xml.XmlNode
Objet de System.Xml.XmlNode qui contient le résultat de la requête suivante, qui comprend une section de schéma et une section de données :
<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>
Remarques
SharePoint Foundation ne gère pas les valeurs de date et d'heure au format XSD, afin que l'heure est ignorée lorsque la méthode Query est utilisée.
Le tableau suivant décrit les propriétés sur l'objet de site ou de liste est retourné.
Name |
Description |
---|---|
comparisonLocale |
Facultatif. Spécifie l'identificateur de paramètres régionaux Windows par défaut pour un objet RowReturning . Cet attribut n'est pas défini pour les objets non -RowReturning . |
contentType |
Obligatoire. Spécifie le type de contenu de l'objet renvoyé, ce qui a toujours la valeur RowReturning pour les objets list et TableReturning pour les objets du site. |
displayName |
Facultatif. Spécifie une chaîne contenant le nom convivial de l'objet de site ou de liste. Cette propriété est toujours renvoyée. |
id |
Obligatoire. Chaîne qui identifie l'objet de site ou de liste. |
querySupport |
Facultatif. Uniquement la données service requête d'extraction (DSPQ) est pris en charge. |
serverParameters |
Obligatoire. Toujours none pour les objets de site et de liste. |
SupportFiltering |
Facultatif. Spécifie si le filtrage est pris en charge. Toujours true pour les objets RowReturning . Bien que les objets false pour non -RowReturning , les champs unsafe et serverParameters peuvent toujours être filtrées. |
SupportOrdering |
Facultatif. Spécifie si le tri est pris en charge. Toujours true. |
supportPaging |
Facultatif. L'adaptateur prend en charge la pagination avant uniquement tel que défini dans le protocole de service de récupération de données. Lors de la pagination est demandée dans la requête en spécifiant startPosition="" au sein de l'élément <dsQuery> , la carte génère un objet BLOB XML qui peut être utilisé pour extraire un lot de lignes. Cet objet BLOB XML est renvoyé par le biais de l'attribut suivant dans l'élément <dsQueryResponse> retournée. Le client peut ensuite définir l'attribut startPosition à cet objet BLOB et répétez la requête d'origine pour récupérer l'ensemble suivant de lignes. |
unsafe |
Facultatif. Étant donné que tous les objets de site et de liste sont sécurisés, cet attribut est toujours défini à false. |
Exemples
L'exemple de code suivant utilise la méthode Query pour renvoyer des éléments d'une liste SharePoint dans laquelle la colonne auteur contient un nom spécifié et le numéro de la colonne contient les valeurs supérieures à une valeur spécifiée.
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
L'exemple suivant illustre la syntaxe d'une demande SOAP réalisée par le biais du service de récupération des données. Les espaces réservés indiqués doivent être remplacés par des valeurs réelles.
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
L'exemple suivant illustre la syntaxe d'une réponse SOAP renvoyée par le biais du service de récupération des données. Les espaces réservés indiqués doivent être remplacés par des valeurs réelles.
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>