Extract result code from xml payload

Karanpreet
Tera Contributor

Hi, i have a requirement to check the result code is specific value to send an alert on event trigger.

 

Can someone help me on it .

 

XML payload has value as follows.

 

<?xml version="1.0" encoding="UTF-8"?><results probe_time="996" result_code="0"><result><output>200</output></result><parameters><parameter name="targetImportSet" value="u_workday_profile_data"/><parameter name="agent" value="mid.server.XXXXXXX"/><parameter name="instance" value=""/><parameter name="signature" value=""/><parameter name="response_to" value=""/><parameter name="filePath" value="\\XXXXXX.csv"/><parameter name="from_sys_id" value=""/><parameter name="source" value=""/><parameter name="priority" value="2"/><parameter name="agent_correlator" value=""/><parameter name="script" value="var remoteFileImport = new CSMIDServerRemoteFileImport(); &#10;remoteFileImport.getRemoteFileAndUploadToInstance()"/><parameter name="processed" value=""/><parameter name="error_string" value=""/><parameter name="sys_id" value="1d33b6e21b9cfd545ed35533604bcbee"/><parameter name="sequence" value="189a9ac79db0000001"/><parameter name="from_host" value=""/><parameter name="sys_created_on" value="2023-07-31 02:00:00"/><parameter name="sys_domain" value="global"/><parameter name="name" value="CSRemoteFileImport"/><parameter name="topic" value="JavascriptProbe"/><parameter name="state" value="ready"/><parameter name="queue" value="output"/><parameter name="ecc_queue" value="1d33b6e21b9cfd545ed35533604bcbee"/></parameters></results>

1 ACCEPTED SOLUTION

Sonam Tiwari
Tera Guru

@Karanpreet  ,

If you mean that you want to fetch result code from the payload, you can get that in below manner using the script:

var xmlString = '<?xml version="1.0" encoding="UTF-8"?><results probe_time="996" result_code="0"><result><output>200</output></result><parameters><parameter name="targetImportSet" value="u_workday_profile_data"/><parameter name="agent" value="mid.server.XXXXXXX"/><parameter name="instance" value="https://sparcdev4.service-now.com/"/><parameter name="signature" value=""/><parameter name="response_to" value=""/><parameter name="filePath" value="\\XXXXXX.csv"/><parameter name="from_sys_id" value=""/><parameter name="source" value=""/><parameter name="priority" value="2"/><parameter name="agent_correlator" value=""/><parameter name="script" value="var remoteFileImport = new CSMIDServerRemoteFileImport(); &#10;remoteFileImport.getRemoteFileAndUploadToInstance()"/><parameter name="processed" value=""/><parameter name="error_string" value=""/><parameter name="sys_id" value="1d33b6e21b9cfd545ed35533604bcbee"/><parameter name="sequence" value="189a9ac79db0000001"/><parameter name="from_host" value=""/><parameter name="sys_created_on" value="2023-07-31 02:00:00"/><parameter name="sys_domain" value="global"/><parameter name="name" value="CSRemoteFileImport"/><parameter name="topic" value="JavascriptProbe"/><parameter name="state" value="ready"/><parameter name="queue" value="output"/><parameter name="ecc_queue" value="1d33b6e21b9cfd545ed35533604bcbee"/></parameters></results>';

var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);

// Results element
var requiredElement = xmlDoc.getNode('results');

// result code
var result_code = requiredElement.getAttribute('result_code');

gs.info("Result Code: " + result_code);

 
then based on result code value you can further work on the logic.

View solution in original post

1 REPLY 1

Sonam Tiwari
Tera Guru

@Karanpreet  ,

If you mean that you want to fetch result code from the payload, you can get that in below manner using the script:

var xmlString = '<?xml version="1.0" encoding="UTF-8"?><results probe_time="996" result_code="0"><result><output>200</output></result><parameters><parameter name="targetImportSet" value="u_workday_profile_data"/><parameter name="agent" value="mid.server.XXXXXXX"/><parameter name="instance" value="https://sparcdev4.service-now.com/"/><parameter name="signature" value=""/><parameter name="response_to" value=""/><parameter name="filePath" value="\\XXXXXX.csv"/><parameter name="from_sys_id" value=""/><parameter name="source" value=""/><parameter name="priority" value="2"/><parameter name="agent_correlator" value=""/><parameter name="script" value="var remoteFileImport = new CSMIDServerRemoteFileImport(); &#10;remoteFileImport.getRemoteFileAndUploadToInstance()"/><parameter name="processed" value=""/><parameter name="error_string" value=""/><parameter name="sys_id" value="1d33b6e21b9cfd545ed35533604bcbee"/><parameter name="sequence" value="189a9ac79db0000001"/><parameter name="from_host" value=""/><parameter name="sys_created_on" value="2023-07-31 02:00:00"/><parameter name="sys_domain" value="global"/><parameter name="name" value="CSRemoteFileImport"/><parameter name="topic" value="JavascriptProbe"/><parameter name="state" value="ready"/><parameter name="queue" value="output"/><parameter name="ecc_queue" value="1d33b6e21b9cfd545ed35533604bcbee"/></parameters></results>';

var xmlDoc = new XMLDocument2();
xmlDoc.parseXML(xmlString);

// Results element
var requiredElement = xmlDoc.getNode('results');

// result code
var result_code = requiredElement.getAttribute('result_code');

gs.info("Result Code: " + result_code);

 
then based on result code value you can further work on the logic.