GetListItems Webservice ignora mi filtro de consulta

El código de abajo aparentemente se ejecuta el servicio web y devuelve los valores, pero omite la cláusula where (volviendo así a todos los elementos de la lista). Esta es la forma más simple del problema que he venido para arriba con.

La TestQuery lista es una simple lista personalizada con no campos definidos por el usuario. Cualquiera puede ver por qué el filtro no está funcionando?

<body>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'><soapenv:Body><GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>";
    soapEnv += "<listName>TestQuery</listName>";
    soapEnv += "<Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>One</Value></Eq></Where></Query>";
    soapEnv += "<ViewFields><ViewFields><FieldRef Name='Title'/></ViewFields></ViewFields><RowLimit>1</RowLimit>";
    soapEnv += "</GetListItems></soapenv:Body></soapenv:Envelope>";

    $.ajax({
        url: "_vti_bin/lists.asmx",
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        complete: processResult,
        contentType: "text/xml; charset=\"utf-8\""
    });
});

function processResult(xData, status) {
            $('#WSResponse').text(status);
    $(xData.responseXML).find("z\\:row").each(function() {
        var liHtml = "<li>" + $(this).attr("ows_Title") + "</li>";
        $("#tasksUL").append(liHtml);
    });
    //}
}
</script>


<ul id="tasksUL"/>
<div id="WSResponse"/>

</body>
InformationsquelleAutor stuckagain | 2009-05-07

3 Kommentare

  1. 4

    Creo que usted necesita para poner la Consulta de la etiqueta en el interior de una consulta de la etiqueta y de la ViewField dentro de un viewField etiqueta algo así como:

    var soapEnv = "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'><soapenv:Body><GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'>"; 
        soapEnv += "<listName>TestQuery</listName>"; 
        soapEnv += "<query><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>One</Value></Eq></Where></Query></query>"; 
        soapEnv += "<viewFields><ViewFields><FieldRef Name='Title'/></ViewFields></viewFields><RowLimit>1</RowLimit>"; 
        soapEnv += "</GetListItems></soapenv:Body></soapenv:Envelope>"; 
  2. 2

    Yo también había enfrentado el mismo problema .. ‘Templo de la solución, han resuelto la consulta de tema.. pero para hacer el RowLimit a trabajar he hecho de la» R » minúscula yo.e,

    <rowLimit> not <RowLimit>

    Este agarró bastante cantidad de tiempo de mi parte… 🙂 Feliz codificación…

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea