Freigeben über


Methodensyntax

Letzte Änderung: Dienstag, 23. März 2010

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Einbetten einer Methode in eine URL
Verwenden der CAML-Batchfunktionalität zum Senden mehrerer Anforderungen
Syntax eines POST-Befehls für FrontPage-Servererweiterungen von Microsoft
Format eines POST-Befehls
Format einer Antwort auf einen POST-Befehl

Jedes der folgenden Methodenthemen enthält einen Syntaxabschnitt, in dem das allgemeine Format des Methodenaufrufs beschrieben wird. Anleitungen zum Formatieren einer Methode in einem Post finden Sie unter "Format eines POST-Befehls" an späterer Stelle in diesem Thema.

Es gibt zwei Möglichkeiten zum Senden von Befehlen mit dem RPC-Protokoll (Remote Procedure Call, Remoteprozeduraufruf) von Microsoft SharePoint Foundation. Sie können einzelne Befehle senden, indem Sie sie in eine URL einbetten, oder Sie können die Batchfunktionalität von CAML (Collaborative Application Markup Language) nutzen, um mehrere Anforderungen pro Transaktion zu senden.

Einbetten einer Methode in eine URL

Durch Einbetten einer Anforderung in eine URL können Sie eine Methode und die gewünschten Parameter an einen Server ausgeben, auf dem SharePoint Foundation ausgeführt wird. Die Syntax lautet wie folgt:

http://[site_name]/_vti_bin/owssvr.dll?Cmd=Method_name[&Parameter1=Value1&Parameter2=Value2...]

Weitere Informationen finden Sie unter URL-Protokoll.

Verwenden der CAML-Batchfunktionalität zum Senden mehrerer Anforderungen

Wenn nur ein Befehl pro POST ausgegeben wird, sind viele aufwändige Roundtrips zum Server erforderlich. Um die Anzahl der Roundtrips zu verringern, geben Sie mit dem CAML-Batch-Element mehrere Befehle pro HTTP-Anforderung aus. Alle Anforderungen müssen einen DisplayPost-Befehl der obersten Ebene enthalten. Die Syntax in der POST-URL für alle Methodenanforderungen an SharePoint Foundation lautet wie folgt:

POST /[Path]/[Subsite]/_vti_bin/owssvr.dll?Cmd=DisplayPost
HinweisHinweis

Wenn die Anforderung nicht über einen Proxy ausgegeben wird, müssen Sie direkt an die serverrelative URL der Ressource senden. Der Hostname ist kein Bestandteil der serverrelativen URL.

Die Syntax für das Ausgeben mehrerer Anforderungen in SharePoint Foundation lautet wie folgt:

POST /[Path/][Subweb/]_vti_bin/_vti_aut/owssvr.dll?Cmd=DisplayPost
<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return">
  <Method ID="String">
    <SetVar Name="Cmd">Method1_name</SetVar>
    <SetVar Name="Parameter1">Value1</SetVar>
      .
      .
      .
    <SetVar Name="ParameterN">ValueN</SetVar>
  </Method>
  <Method ID="String">
    <SetVar Name="Cmd">Method2_name</SetVar>
    <SetVar Name="Parameter1">Value1</SetVar>
      .
      .
      .
    <SetVar Name="ParameterN">ValueN</SetVar>
  </Method>
      .
      .
      .
  <Method ID="String">
    <SetVar Name="Cmd">MethodN_name</SetVar>
    <SetVar Name="Parameter1">Value1</SetVar>
      .
      .
      .
    <SetVar Name="ParameterN">ValueN</SetVar>
  </Method>
</ows:Batch>

Im folgenden Beispiel werden mit dem Batch-Element die zwei benutzerdefinierten Listen Meeting Topics und Volunteers erstellt.

POST /STSServer1/_vti_bin/_vti_aut/owssvr.dll?Cmd=DisplayPost

<?xml version="1.0" encoding="UTF-8"?>
<ows:Batch OnError="Return"> 
  <Method ID="0,NewList"> 
    <SetVar Name="Cmd">NewList</SetVar> 
    <SetVar Name="ListTemplate">100</SetVar> 
    <SetVar Name="Title">Meeting Topics</SetVar> 
  </Method>
  <Method ID="1,NewList"> 
    <SetVar Name="Cmd">NewList</SetVar> 
    <SetVar Name="ListTemplate">100</SetVar> 
    <SetVar Name="Title">Volunteers</SetVar> 
  </Method> 
</ows:Batch>

Syntax eines POST-Befehls für FrontPage-Servererweiterungen von Microsoft

Jede Methode besteht aus dem Methodennamen, auf den ein Doppelpunkt (:) und ein Leerzeichen folgen. Daran schließt Version_von_Servererweiterungen für FrontPage-Servererweiterungen und die Parameter der Methode an. Jeder Parametername weist als erstes Zeichen ein kaufmännisches Und-Zeichen (&) auf, und direkt auf den Parameternamen folgt ein Gleichheitszeichen (=), vor dem keine Leerzeichen stehen. Auf das Gleichheitszeichen folgt direkt der Wert des Parameters. Beispiel:

&service_name=/fodo4

Für Parameterwerte gelten die folgenden Konventionen:

Schriftart/Code

Bedeutung

Beispiel

Kursiv

Variable

Dienstname

Spitze Klammern (< >)

Optionaler Inhalt

<platform=os>

Nur-Text

Literale

Methode

Disjunkt-Symbol (|)

Trennt gleichwertige alternative Optionen

(true | false)

Weitere Informationen zu Parametern finden Sie im Abschnitt Parameter auf der Referenzseite für die jeweilige Methode.

Die meisten POST-Befehle im RPC-Protokoll für FrontPage-Servererweiterungen weisen dieses Format auf:

POST /directory_name/_vti_bin/_vti_aut/program_name.dll.
HTTP/1.0..Date:.Thu,.03.Dec.1998.19:09:16.GMT..

Im vorherigen Beispiel gibt directory_name den Namen des Stammverzeichnisses der Website an, während program_name den Namen des Programms in FrontPage-Servererweiterungen angibt, welches das Ziel des POST-Befehls darstellt.

An die Datumszeichenfolge schließen die HTTP-Headerzeilen an, wie im folgenden Beispiel veranschaulicht:

MIME-Version:.1.0..User-Agent:.client_name/version..
Host:.host_name..Accept:.auth/sicily..
Authorization:.Basic.cm9iZjpUS3NvKjUw.
Content-Length:.64..
Content-Type:.application/x-www-form-urlencoded
X-Vermeer-Content-Type:.application/x-www-form-urlencoded
.
.
.

Diese Zeilen geben die Clientanwendung an, die für den POST-Befehl zuständig ist, außerdem die Länge und den Typ des POST-Befehls sowie Sicherheitsinformationen. Die Angabe des X-Vermeer-Content-Type-Headers wie im Beispiel ist erforderlich. Entwicklern von Drittanbietern, die Anwendungen erstellen, die RPC-Methoden für die Interaktion mit SharePoint Foundation verwenden, müssen diesen Header in ihre POSTs einschließen. Wenn der Header nicht eingeschlossen ist, schlägt die RPC-Operation fehl.

Der letzte Teil des POST-Befehls enthält die Methode mit den ausgewählten Parametern und deren Werten. Beispiel:

method=open+service%3a4%2e0%2e1%2e2207&service%5fname=%2fallnew.

Format eines POST-Befehls

Die erste Zeile eines POST-Befehls enthält den POST-Befehl sowie die verwendete HTTP-Version. Auf den POST-Befehl folgen mehrere HTTP-Header, von denen einige Standardheader darstellen und andere spezifisch für FrontPage-Servererweiterungen sind. Ein typischer POST-Befehl sieht wie folgt aus:

POST /allnew/_vti_bin/_vti_aut/author.dll HTTP/1.0CRLF
Date: Thu, 03 Dec 1998 19:09:16 GMTCRLF
MIME-Version: 1.0CRLF
User-Agent: MSFrontPage/4.0CRLF
Host: seattleCRLF
Accept: auth/sicilyCRLF
Authorization: Basic cm9iZjpUS3NvKjUwCRLF
Content-Length: 343CRLF
Content-Type: application/x-www-form-urlencodedCRLF
X-Vermeer-Content-Type: application/x-www-form-urlencodedCRLF
CRLF
method=list+documents%3a4%2e0%2e1%2e2207&service%5fname=%2fallnew
&listHiddenDocs=false&listExplorerDocs=false&listRecurse=false&listFiles=true
&listFolders=true&listLinkInfo=true&listIncludeParent=true&listDerived=false
&listBorders=false&listChildWebs=true&initialUrl=&platform=WinI386
&folderList=%5b%3bTW%7c09+Nov+1998+17%3a03%3a25+%2d0000%5dLF

Jede Headerzeile und die POST-Befehlszeile müssen mit einem Wagenrücklauf/Zeilenvorschub (CRLF) enden. Beachten Sie, dass CRLF in Übereinstimmung mit dem HTTP-Protokoll die Bytesequenz 0x0d 0x0a darstellt.

HinweisHinweis

Weitere Informationen zum POST-Befehl und den HTTP-Headern finden Sie in der Spezifikation für HTTP 1.0 auf der Website des World Wide Web Consortium. Diese Spezifikation wird vom RPC-Protokoll verwendet.

Hinter den Headern befindet sich CRLF, gefolgt von der RPC-Protokollmethode, die an FrontPage-Servererweiterungen gesendet wird. Leerzeichen in der Methode müssen mit dem Pluszeichen (+) codiert werden. Codieren Sie nicht-alphanumerische Zeichen in der Methode mithilfe der %XX-Codierung (der umgekehrte Schrägstrich wird beispielsweise als %5c codiert). Fügen Sie am Ende der Methodendaten einen Zeilenvorschub (LF) hinzu.

Format einer Antwort auf einen POST-Befehl

Wenn eine Clientanwendung mit einem POST-Befehl eine Methode an FrontPage-Servererweiterungen sendet, wird von FrontPage-Servererweiterungen zum Bestätigen des Empfangs der Methode eine HTTP OK-Standardmeldung gesendet. FrontPage-Servererweiterungen antwortet auf die Methode, indem eine HTML-codierte Seite an die Clientanwendung gesendet wird. Im folgenden Beispiel wird eine typische Antwort veranschaulicht:

Content-type: application/x-vermeer-rpc..X-FrontPage-User-Name:
usernameCRLF
CRLF
<html><head><title>vermeer.RPC 
packet</title></head>LF<body>.
LF<p>method=list documents: 
6.0.x.xxxxLF<p>document_list=
LF<ul>
LF<ul>LF<li>document_name=Default.htm
LF<li>meta_info=
LF<ul>
LF<li>vti_author
LF<li>SR|author
LF<li>vti_title
LF<li>SW|Home Page
LF<li>vti_timecreated
LF<li>TR|10 Sep 1998 10:07:54 -0700
LF<li>vti_filesize
LF<li>IX|277
LF<li>vti_modifiedby
LF<li>SR|author
LF<li>vti_nexttolasttimemodified
LF<li>TR|10 Sep 1998 10:07:54 -0700
LF<li>vti_timelastmodified
LF<li>TR|10 Sep 1998 10:07:55 -0700
LF<li>vti_timelastwritten
LF<li>TX|10 Sep 1998 10:07:56 -0700
LF</ul>
LF</ul>
LF<ul>
LF<li>document_name=new1.htm
LF<li>meta_info=
LF<ul>
LF<li>vti_author
LF<li>SR|IUSR_author
. 
. 
.
</body>
</html>

Es gibt drei mögliche Variationen von Antworten. Die Antwort kann eine HTML-Seite darstellen, die lediglich eine Meldung über den Erfolg oder das Fehlschlagen der Methode enthält. Die Antwort kann aber auch eine HTML-Seite sein, die nur Metainformationen über das Objekt der Methode enthält. Schließlich kann die Antwort sowohl eine Meldung als auch Metainformationen enthalten.

In allen Variationen beginnt die Antwort mit einem Content_type-Header. Die darauf folgende HTML-Seite muss einen Zeilenvorschub (LF) vor jedem dieser HTML-Tags enthalten: <p>, <li>, <ul> und </ul>.

Weitere Informationen zum Dokumentieren von Antworten finden Sie unter Rückgabewerte.