Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Array from SOAP/XML Web Service Response

kanielb1
Mega Expert

I am creating a scoped application that will be making several web service calls to populate data on the form.  The web service is being called by a script include. I am building a choice list with the results in a client script.  This service can have multiple Record elements.  How can I build an array from this response in a scoped application?

         <ns0:Record>
            <ns0:String1>99</ns0:String1>
            <ns0:String2>99999999999</ns0:String2>
            <ns0:String3>Words</ns0:String3>
         </ns0:Record>
         <ns0:Record>
            <ns0:String1>98</ns0:String1>
            <ns0:String2>99999999998</ns0:String2>
            <ns0:String3>Words</ns0:String3>
         </ns0:Record>
         <ns0:Record>
            <ns0:String1>97</ns0:String1>
            <ns0:String2>99999999997</ns0:String2>
            <ns0:String3>Words</ns0:String3>
         </ns0:Record>   

 

1 ACCEPTED SOLUTION

kanielb1
Mega Expert

I converted the xml to json and parsed the json.

       

        var obj = gs.xmlToJSON(answer);
        var myObj = JSON.parse(JSON.stringify(obj).replace(/ns0:/g, ""));
        var myNewObj = JSON.parse(JSON.stringify(myObj).replace(/soap:/g, ""));
        var length = myNewObj.Envelope.Body.Response.Rec.length;

View solution in original post

3 REPLIES 3

sachin_namjoshi
Mega Patron

Please check solution below to build array from SOAP response

 

https://community.servicenow.com/community?id=community_question&sys_id=1fb487e9dbd8dbc01dcaf3231f96...

 

Regards,

sachin

kanielb1
Mega Expert

XMLDocument is not supported in a scoped application.

kanielb1
Mega Expert

I converted the xml to json and parsed the json.

       

        var obj = gs.xmlToJSON(answer);
        var myObj = JSON.parse(JSON.stringify(obj).replace(/ns0:/g, ""));
        var myNewObj = JSON.parse(JSON.stringify(myObj).replace(/soap:/g, ""));
        var length = myNewObj.Envelope.Body.Response.Rec.length;