SOAP request in parse cloud code

戏子无情 提交于 2020-01-06 19:52:26

问题


I need to make a SOAP request in parse cloud code. Then I save returned data to a parse class. I am new at javascript. I tried to do it with Parse.Cloud.httpRequest but it did not work.

Here is the SOAP request :

var elPlanliTable = $('#planliTable');
var filterPlanliKesintiler = true;

function getAllPlanliKesintiler(){

    var listName = "PlanliKesintiler";

    var where = (filterPlanliKesintiler) ?
    "<And><Geq><FieldRef Name='Tarih' /><Value Type='DateTime'><Today OffsetDays='-30' /></Value></Geq><Eq><FieldRef Name='Aktif' /><Value Type='Boolean'>1</Value></Eq></And>" :
    "<Eq><FieldRef Name='Aktif' /><Value Type='Boolean'>1</Value></Eq>";

    var soapEnv =
    "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
    <soapenv:Body> \
    <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
    <listName>"+listName+"</listName> \
    <query> \
    <Query> \
    <OrderBy> \
    <FieldRef Name='Tarih' Type='DateTime' IncludeTimeValue='FALSE' Ascending='False' /> \
    </OrderBy> \
    <Where> \
    " + where + " \
    </Where> \
    </Query> \
    </query> \
    <viewFields> \
    <ViewFields> \
    <FieldRef Name='Tarih' /> \
    <FieldRef Name='BaslangicSaat' /> \
    <FieldRef Name='BitisSaat' /> \
    <FieldRef Name='Planl_x0131__x0020_Kesinti_x0020' /> \
    <FieldRef Name='Bolgeler' /> \
    <FieldRef Name='KesintiNedeni' /> \
    <FieldRef Name='Aktif' /> \
    <FieldRef Name='AboneSayisi' /> \
    </ViewFields> \
    </viewFields> \
    <rowLimit>0</rowLimit> \
    </GetListItems> \
    </soapenv:Body> \
    </soapenv:Envelope>";


    var load = '<div class="spinner" style="position:absolute; width:100%; height:100%; background-color:rgba(255,255,255,.8); top:-100px;  "><h4 style="display:block; text-align:center; margin:28% auto;">Yükleniyor, Lütfen Bekleyiniz...<h4><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div>';
    elPlanliTable.html(load);

    var urlAdres = null;
    var culture = _spPageContextInfo.currentCultureName;


    $.ajax({
           url:"http://www.sedas.com/tr-tr/Bilgi_Danisma/_vti_bin/lists.asmx",
           type: "POST",
           dataType: "xml",
           data: soapEnv,
           complete: processPlanliKesintilerResult,
           contentType: "text/xml; charset=\"utf-8\""
           });

}

回答1:


I solved the problem according to the question :

Parse.com to communicate with WSDL

here it is :

Parse.Cloud.define("Uedas", function(request, response) {

                   var filterPlanliKesintiler = false;

                   var listName = "PlanliKesintiler";

                   var where = (filterPlanliKesintiler) ?
                   "<And><Geq><FieldRef Name='Tarih' /><Value Type='DateTime'><Today OffsetDays='-30' /></Value></Geq><Eq><FieldRef Name='Aktif' /><Value Type='Boolean'>1</Value></Eq></And>" :
                   "<Eq><FieldRef Name='Aktif' /><Value Type='Boolean'>1</Value></Eq>";

                   var Buffer = require('buffer').Buffer;

                   buffer = new Buffer(
                                       "<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
                                       <soapenv:Body> \
                                       <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
                                       <listName>"+listName+"</listName> \
                                       <query> \
                                       <Query> \
                                       <OrderBy> \
                                       <FieldRef Name='Tarih' Type='DateTime' IncludeTimeValue='FALSE' Ascending='False' /> \
                                       </OrderBy> \
                                       <Where> \
                                       " + where + " \
                                       </Where> \
                                       </Query> \
                                       </query> \
                                       <viewFields> \
                                       <ViewFields> \
                                       <FieldRef Name='Tarih' /> \
                                       <FieldRef Name='BaslangicSaat' /> \
                                       <FieldRef Name='BitisSaat' /> \
                                       <FieldRef Name='Planl_x0131__x0020_Kesinti_x0020' /> \
                                       <FieldRef Name='Bolgeler' /> \
                                       <FieldRef Name='KesintiNedeni' /> \
                                       <FieldRef Name='Aktif' /> \
                                       <FieldRef Name='AboneSayisi' /> \
                                       </ViewFields> \
                                       </viewFields> \
                                       <rowLimit>0</rowLimit> \
                                       </GetListItems> \
                                       </soapenv:Body> \
                                       </soapenv:Envelope>"

                                       );



                   Parse.Cloud.httpRequest({
                                           method: 'POST',
                                           url: 'http://www.sedas.com/tr-tr/Bilgi_Danisma/_vti_bin/lists.asmx',
                                           headers: {
                                           'Content-Type': 'text/xml; charset=utf-8'
                                           },
                                           body: buffer
                                           }).then(function(httpResponse) {
                                                   // success
                                  response.success(httpResponse.text);

                                                   },function(httpResponse) {
                                                   // error
                                                   response.error(httpResponse.text);
                                                   });


                   });


来源:https://stackoverflow.com/questions/34951384/soap-request-in-parse-cloud-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!