Null value while parsing xml

dvelloriy
Kilo Sage

Hi Community,

I have developed an outbound integration in ServiceNow. For failed transactions, i have created a retry policy and a business rule to create an incident. However while parsing xml, it is giving null value.

I want to parse the below parameter:

find_real_file.png\

In my BR, i am using:

var payld = current.input_queue.payload;
var snowgrp = gs.getXMLText(payld,"//http_status_code");
gs.log("Value of snowgrp is"+snowgrp);

 

Logs:

find_real_file.png

 

Any help on this would be appreciated.

1 ACCEPTED SOLUTION

Well you could either use

var xmlDoc = new XMLDocument(current.input_queue.payload,true);
inc.work_notes = "The  incident failed to send notification to end user. Error code is " + xmlDoc.getAttribute("//parameter[@name=\"http_status_code\"]","value");

or

var xmlDoc = new XMLDocument(current.input_queue.payload,true);
var errorCode = xmlDoc.getAttribute("//parameter[@name=\"http_status_code\"]","value");
inc.work_notes = "The  incident failed to send notification to end user. Error code is " + errorCode;

Just depends if you want to create a variable for it or just use the parsing directly

View solution in original post

19 REPLIES 19

correct

Abhinay, it is still giving null value. Do i have to check logs to see what really happened? If yes, what keywords i need to look out for?

simonbergstedt
Tera Guru
var xmlDoc = new XMLDocument(current.input_queue.payload,true);
gs.print(xmlDoc.getAttribute("//parameter[@name=\"http_status_code\"]","value"));

I have tried using getAttribute() before I moved on to using regular expressions. Your code works! May be I have missed something.

It's easy to miss something when parsing XML, not like I got it to work on my first try 😉 But I guess there is a reason most seem to prefer handling json payloads rather than xml