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

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>

Voir aussi

Référence

StsAdapter classe

StsAdapter - Membres

WebSvcDspSts - Espace de noms