Compartir a través de


Sintaxis de método

Última modificación: martes, 23 de marzo de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Incrustación de un método en una dirección URL
Uso de la funcionalidad de lote CAML para enviar varias solicitudes
Sintaxis de un comando POST para las Extensiones de servidor de FrontPage de Microsoft
Formato de un comando POST
Formato de una respuesta a un comando POST

Cada uno de los siguientes temas de método incluye una sección de sintaxis que describe la forma general de la llamada al método. Para obtener instrucciones acerca del formato de un método en un envío, vea "Formato de un comando POST" más adelante en este tema.

Existen dos formas de enviar comandos mediante el protocolo de llamada a procedimientos remotos (RPC) de Microsoft SharePoint Foundation. Puede enviar comandos únicos incrustándolos en una dirección URL o puede usar la funcionalidad de procesamiento por lotes del Lenguaje de marcado de aplicaciones de colaboración (CAML) para enviar varias solicitudes por transacción.

Incrustación de un método en una dirección URL

Mediante la incrustación de una solicitud en una dirección URL se puede emitir un método y los parámetros deseados a un servidor que ejecuta SharePoint Foundation. La sintaxis es:

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

Para obtener más información, consulte Protocolo de dirección URL.

Uso de la funcionalidad de lote CAML para enviar varias solicitudes

La emisión de un comando por POST requiere varias costosas acciones de ida y vuelta al servidor. Para reducir el número de acciones de ida y vuelta, use el elemento Batch de CAML para emitir varios comandos para cada solicitud HTTP. Todas las solicitudes deben incluir un comando DisplayPost de nivel superior. La sintaxis usada en la dirección URL POST para todas las solicitudes de método a SharePoint Foundation es la siguiente:

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

Nota

Cuando no se emite la solicitud a través de un proxy, se debe realizar el envío directamente a la URL relativa del servidor del recurso. El nombre de host no es parte de una URL relativa del servidor.

La sintaxis para emitir varias solicitudes en SharePoint Foundation es la siguiente:

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>

En el ejemplo siguiente, el elemento Batch se usa para crear dos listas personalizadas denominadas Meeting Topics y Volunteers.

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>

Sintaxis de un comando POST para las Extensiones de servidor de FrontPage de Microsoft

Cada método se compone del nombre del método seguido por dos puntos (:) y un espacio. Luego se incluye la versión_de_extensión_del_servidor para las Extensiones de servidor de FrontPage y, a continuación, los parámetros para el método. Cada nombre de parámetro tiene un signo de Y comercial (&) como su primer carácter y el nombre del parámetro va seguido inmediatamente por un signo igual (=) sin espacios delante de él. El signo igual va seguido inmediatamente por el valor del parámetro. Por ejemplo:

&service_name=/fodo4

Los valores de parámetro usan las siguientes convenciones:

Fuente/código

Significado

Ejemplo

Cursiva

Variable

nombre_de_servicio

Corchetes angulares (< >)

Contenido opcional

<platform=os>

Texto sin formato

Literales

método

Símbolo de disyuntiva (|)

Separa opciones alternativas equivalentes

(true | false)

Para obtener información acerca de los parámetros, consulte la sección Parámetros de la página de referencia para el método específico.

La mayoría de los comandos POST en el protocolo RPC para las Extensiones de servidor de FrontPage tiene este formato:

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

En el ejemplo anterior, directory_name es el nombre del directorio raíz del sitio web y program_name es el nombre del programa en las Extensiones de servidor de FrontPage al que se dirige el comando POST.

La cadena de fecha va seguida de las líneas de encabezado HTTP, tal y como se ilustra en el ejemplo siguiente:

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

Estas líneas identifican la aplicación cliente responsable del comando POST, la longitud y tipo el de comando POST, así como la información de seguridad. Es necesario especificar el encabezado X-Vermeer-Content-Type como en el ejemplo. Los programadores de otros fabricantes que crean aplicaciones que usan métodos de RPC para interactuar con SharePoint Foundation deben incluir este encabezado en sus comandos POST. Si no se incluye el encabezado, la operación RPC producirá un error.

La última parte del comando POST contiene el método con los parámetros seleccionados y sus valores. Por ejemplo:

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

Formato de un comando POST

La primera línea de un comando POST contiene el comando POST y la versión de HTTP en uso. El comando POST va seguido de varios encabezados HTTP, algunos de los cuales son estándar y otros son exclusivos de las Extensiones de servidor de FrontPage. Un comando POST típico tiene el formato siguiente:

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

Cada línea de encabezado y la línea del comando POST deben terminar en un carácter de retorno de carro/avance de línea (CRLF). Tenga en cuenta que CRLF es la secuencia de bytes 0x0d, 0x0a, de acuerdo con el protocolo HTTP.

Nota

Para obtener más información sobre el comando POST y los encabezados HTTP, consulte la especificación de HTTP 1.0 en la página web del consorcio World Wide Web. Esta especificación se usa en el protocolo RPC.

Después de los encabezados, se coloca un CRLF, seguido del método de protocolo RPC que se envía a las Extensiones de servidor de FrontPage. Codifique los espacios del método, como el carácter de signo más (+). Para codificar los caracteres no alfanuméricos del método, use la codificación %XX (por ejemplo, la barra diagonal inversa se codifica como %5c). Agregue un avance de línea (LF) al final de los datos del método.

Formato de una respuesta a un comando POST

Cuando una aplicación cliente envía un método a las Extensiones de servidor de FrontPage mediante un comando POST, las Extensiones de servidor de FrontPage devuelven una respuesta OK HTTP estándar para confirmar la recepción del método. Las Extensiones de servidor de FrontPage responden al método enviando una página HTML codificada a la aplicación cliente. El ejemplo siguiente muestra una respuesta típica:

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>

Hay tres variantes posibles para las respuestas. En primer lugar, la respuesta es una página HTML que sólo incluye un mensaje que indica si el método se ha aplicado correctamente o no. En segundo lugar, la respuesta es una página HTML que incluye sólo metainformación sobre el objeto del método. En tercer lugar, la respuesta incluye un mensaje y metainformación.

En todas las variantes, la respuesta comienza con un encabezado Content_type. La página HTML que sigue debe tener un avance de línea (LF) antes de cada una de estas etiquetas HTML: <p>, <li>, <ul> y </ul>.

Para obtener información acerca de la documentación de respuestas, consulte Valores devueltos.