How to return a value from a script step in flow designer.

Sonu Singh
Mega Expert

Hi All,

I need to fetch a value from the response body which i have received it from the SOAP step:

Fig:

find_real_file.png

Can some help me how do i fetch any value from the xml response which i am getting in the responsebody input variable?

 

Thanks,

Ak

1 ACCEPTED SOLUTION

So the problem is the body which is returned from integration.

See formatted XML

find_real_file.png

Below works but it's not good for long time solution.

var response = inputs.response_body.toString();

var xmldoc = new XMLDocument(response);

if(xmldoc.toString().indexOf('name=') > -1){
	var nm1 = (xmldoc.toString().split('name="')[1]);
	var nm2 = (nm1.toString().split('"')[0]);
	outputs.groupname = nm2;
}

View solution in original post

41 REPLIES 41

Hi,

So you are getting xml as response; you can directly parse it and set the value

Is it not setting the outputs variable using this

var response = inputs.response_body;
var xmldoc = new XMLDocument(response);

var name = xmldoc.getNodeText("//row/@name");

outputs.groupname = name;

Regards
Ankur

 

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

@Ankur Bawiskar ,

I tried this but i am not getting anything for outputs.groupname=name;

Mike Patel
Tera Sage

Lets add logging so we know what we are getting

try below

var response = inputs.response_body;
gs.log("response: " + response, "Soap");

var xmldoc = new XMLDocument(response);
gs.log("xmldoc: " +xmldoc, "Soap");

var name = xmldoc.getNodeText("//row/@name")
gs.log("name: "+name, "Soap");

@Mike Patel ,

 

var response = inputs.response_body;
gs.log("response: " + response, "Soap");

For this i am getting soap xml response.

var xmldoc = new XMLDocument(response);
gs.log("xmldoc: " +xmldoc, "Soap");

No response

var name = xmldoc.getNodeText("//row/@name")
gs.log("name: "+name, "Soap");

since no response for the above step:

 name: null

 

 

Can you share what you got for response in logs ?