Blame view

ais-structure/src/modules/helper/messageSOAP.js 2.48 KB
6efce50d   Nattapon Wongpaet   update validate a...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var soap = [];

soap.objectToSOAP = function (objectData,tag){
    var header = '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempuri.org/"><soap:Header/><soap:Body>';   
    var footer = "</soap:Body></soap:Envelope>";  
    var body = "<tem:"+tag+">"+getBodySOAP(objectData)+"</tem:"+tag+">";

    return header+body+footer;
    
};

soap.soapToArray = function(req,resultSoap)
{  
    var returnData = [];
   
    if(req.query.fields){
        var listFields = req.query.fields.split(",");
        console.log(listFields)
    }

        var resultSet = [];
        if(Array.isArray(resultSoap))
        {
            for(var i=0;i<resultSoap.length;i++)
            {
                var row = resultSoap[i];         
                delete row._comment;
                resultSet.push(row);              
                
            }
        }else
        {
            delete resultSoap._comment;
            resultSet.push(resultSoap);
        }

        
        // console.log(resultSet);       

50ad7d6d   Nattapon Wongpaet   update get vizcar...
40
        var rawDataArr = [];
6efce50d   Nattapon Wongpaet   update validate a...
41
42
43
44

        for(var i=0;i<resultSet.length;i++)
        {            
            var data = {}
50ad7d6d   Nattapon Wongpaet   update get vizcar...
45
            var rawData = {}
6efce50d   Nattapon Wongpaet   update validate a...
46
47
48
49
50
51
52
53
54
55
            for(var key in resultSet[i]){
                var keyObj = capitalizeFirstLetter(key.replace('tem:',''))
                // console.log(keyObj+' : '+resultSet[i][key]['_text']);
                if(listFields){
                    if(listFields.includes(keyObj)){
                        data[keyObj] = resultSet[i][key]['_text'];
                    }
                } else {
                    data[keyObj] = resultSet[i][key]['_text'];
                }
50ad7d6d   Nattapon Wongpaet   update get vizcar...
56
                rawData[keyObj] = resultSet[i][key]['_text'];
6efce50d   Nattapon Wongpaet   update validate a...
57
            }
50ad7d6d   Nattapon Wongpaet   update get vizcar...
58
            rawDataArr.push(rawData);
6efce50d   Nattapon Wongpaet   update validate a...
59
60
61
            returnData.push(data);
        }

50ad7d6d   Nattapon Wongpaet   update get vizcar...
62
        return { returnData : returnData, rawDataJson : rawDataArr};
6efce50d   Nattapon Wongpaet   update validate a...
63
64
65
66
67
68
69
70
71
72
};

function getBodySOAP(objectData)
{
    var body = "";
    if(typeof objectData != 'undefined')
    {
        var keyList = Object.keys(objectData);
        for(var i=0;i<keyList.length;i++)
        {
1b5ca11b   Nattapon Wongpaet   update vizcard
73
74
75
76
77
78
            if(typeof objectData[keyList[i]] != 'object')
                body += "<tem:"+keyList[i]+">"+objectData[keyList[i]]+"</tem:"+keyList[i]+">";
            else
                body += "<tem:"+keyList[i]+">"+getBodySOAP(objectData[keyList[i]])+"</tem:"+keyList[i]+">";
        }
    }
6efce50d   Nattapon Wongpaet   update validate a...
79
80
81
82
83
84
85
86
    return body;
}

function capitalizeFirstLetter(string) {
    return string.charAt(0).toLowerCase() + string.slice(1);
}

module.exports = soap;