Share via


StsAdapter.Query-Methode

Veraltet. Verwenden Sie stattdessen das verwaltete Clientobjektmodell zum Ausführen von Abfragen für Website- und Listendaten von SharePoint Foundation. Bei diesem Webdienst handelt es sich um einen Adapterdienst, der eine Methode zum Ausführen von Abfragen bereitstellt und aus Gründen der Abwärtskompatibilität beibehalten wird.

Namespace:  WebSvcDspSts
Assembly:  STSSOAP (in STSSOAP.dll)

Syntax

'Declaration
<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
'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("request")]
[SoapHeaderAttribute("versions", Direction = SoapHeaderDirection.InOut)]
[SoapHeaderAttribute("authentication")]
public XmlNode Query(
    QueryRequest queryRequest
)

Parameter

Rückgabewert

Typ: System.Xml.XmlNode
Ein System.Xml.XmlNode Objekt, das Abfrageergebnis wie folgt die Schema-Abschnitt und einen Data-Abschnitt enthält enthält:

<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>

Hinweise

SharePoint Foundation unterstützt nicht Datum-Uhrzeit-Werte im XSD-Format, sodass Zeit ignoriert wird, wenn die Query -Methode verwendet wird.

In der folgenden Tabelle beschreibt die Eigenschaften für die Liste oder Website-Objekt, das zurückgegeben wird.

Name

Description

comparisonLocale

Optional. Gibt den standardmäßigen Windows-Gebietsschemabezeichner für ein RowReturning -Objekt an. Dieses Attribut wird nicht für nicht -RowReturning Objekte definiert.

contentType

Erforderlich. Gibt der Inhaltstyp des Objekts zurückgegeben, die immer RowReturning für Objekte in der Liste und TableReturning für Websiteobjekte festgelegt ist, an.

displayName

Optional. Gibt eine Zeichenfolge, die den Anzeigenamen für die Liste oder Website-Objekt enthält. Diese Eigenschaft wird immer zurückgegeben.

id

Erforderlich. Eine Zeichenfolge, die das Liste oder Website-Objekt identifiziert wird.

querySupport

Optional. Nur die Datenempfangsdienst-Abfrage (DSPQ) wird unterstützt.

serverParameters

Erforderlich. Immer none für Listen- und Websiteinhaltstypen-Objekte.

SupportFiltering

Optional. Gibt an, ob Filtern unterstützt wird. Immer true für RowReturning -Objekte. Obwohl false für nicht -RowReturning -Objekten, die Felder unsafe und serverParameters können weiterhin gefiltert werden.

SupportOrdering

Optional. Gibt an, ob die Sortierung unterstützt wird. Immer true.

supportPaging

Optional. Der Adapter unterstützt Vorwärtscursor Paging gemäß Definition im Dienstprotokoll zum Abrufen von Daten. Wenn Paging durch Angeben von startPosition="" innerhalb des <dsQuery> -Elements in der Abfrage angefordert wird, generiert der Adapter ein XML-BLOB, die zum Abrufen der nächsten Gruppe von Zeilen verwendet werden kann. Dieses XML-BLOB wird über das nächste Attribut in das zurückgegebene <dsQueryResponse> Element zurückgegeben. Der Client kann dann legen Sie das Attribut startPosition dieses BLOB und wiederholen Sie die ursprüngliche Abfrage zum Abrufen der nächsten Gruppe von Zeilen.

unsafe

Optional. Da alle Objekte von Website- und sicher sind, wird dieses Attribut immer auf falsefestgelegt.

Beispiele

Im folgenden Codebeispiel wird mithilfe der Query -Methode zum Zurückgeben von Elementen aus einer SharePoint-Liste in der Spalte Autor einen angegebenen Namen enthält, und die Spalte Zahl enthält Werte, die größer als ein angegebener Wert.

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

Das folgende Beispiel zeigt die Syntax einer SOAP-Anforderung über den Datenempfangsdienst. Die angezeigten Platzhalter müssen durch tatsächliche Werte ersetzt werden.

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

Das folgende Beispiel zeigt die Syntax der SOAP-Antwort über den Datenempfangsdienst zurückgegeben. Die angezeigten Platzhalter müssen durch tatsächliche Werte ersetzt werden.

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>

Siehe auch

Referenz

StsAdapter Klasse

StsAdapter-Member

WebSvcDspSts-Namespace