jQuery Call web services(SOAP) in SharePoint 2013

Step by Step Calling web services(SOAP) in SharePoint 2013

As we know sharepoint already provide some sevice for user, we needn‘t write CAML to query list every time, sharepoint web service have enough methods, it is easy and fast, suggest to call sharepoint serivice.

1. This time, we will analysis the web service using SOAP, and learn how to call the web service in client. here is a web service file:http://servername/_vti_bin/Lists.asmx, and detail:

jQuery Call web services(SOAP) in SharePoint 2013

2. Click a link and show the method in detail, notice the soap envelope.

jQuery Call web services(SOAP) in SharePoint 2013

3. now, we start to coding: we will use the GetList method in this sevice to return the list itmes count with jQuery .

  • a. Create a custom list name hr, and add some data to test.

  • b. The main code is set the soap envelope and get the respond body with posting request. then we can get the detail info in the respond body via F12 in IE. because this is xml file, it support jQuery seletor.

jQuery Call web services(SOAP) in SharePoint 2013

  • c. Here is the code in all:
<script type="text/javascript">
    var isIE = (navigator.appName.toLowerCase().indexOf(‘netscape‘) == -1);
    
$(document).ready(function() {
    ExecuteOrDelayUntilScriptLoaded(makeSoapCall, ‘sp.js‘);
});

function makeSoapCall(){
    var soapEnv =
    "<soap:Envelope xmlns:xsi=‘http://www.w3.org/2001/XMLSchema-instance‘" +
    " xmlns:xsd=‘http://www.w3.org/2001/XMLSchema‘       xmlns:soap=‘http://schemas.xmlsoap.org/soap/envelope/‘>       <soap:Body>         <GetListItems xmlns=‘http://schemas.microsoft.com/sharepoint/soap/‘>           <listName>" + "hr" + "</listName>           <viewName></viewName>           <query></query>           <viewFields></viewFields>           <rowLimit></rowLimit>           <queryOptions><QueryOptions xmlns=‘‘><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><ViewAttributes Scope=‘RecursiveAll‘/></QueryOptions></queryOptions>         </GetListItems>       </soap:Body>     </soap:Envelope>";
        
        
    $.ajax({
        url:"HTTP://DEV-SP/_vti_bin/Lists.asmx",
        type: "POST",
        dataType: "xml",
        data: soapEnv,
        complete: processResult,
        contentType: "text/xml; charset=\"utf-8\""
    });
}

function processResult(xData, status) {
    var result;
    if (isIE)
        result = xData.responseXML
    else
        result = xData.responseText
        
    try {
        if (status == "success" && result){
            $(result).find("rs\\:data").each(function() {
                alert($(this).attr("ItemCount") + " Items found.");
            });
        }
    }
    catch (e) {
        alert(e);
    }
}
 
    
</script>
  • d. Result:

jQuery Call web services(SOAP) in SharePoint 2013

 

Links : Calling the SharePoint 2010 GetListItems web services with Jquery

 

jQuery Call web services(SOAP) in SharePoint 2013,布布扣,bubuko.com

jQuery Call web services(SOAP) in SharePoint 2013

上一篇:ThinkPHP5分布式数据库读写分离


下一篇:MySQL的SQL语句 - 数据操作语句(13)- 子查询(2)