Using JavaScriptProbe for getting return value
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-01-2017 05:05 AM
Hello,
I want to read xml file from mid sever, i have created below mid server script include and calling this from a background script using javascript probe mentioned below.
I can see my background script is able to create record in ECC Queue, but my requirement is to get the XML string-- xml2String back to my calling script.
Is there a way we can return a value from javascript probe ? or do i need to leverage ECC queue for getting output parameter value.
1) Mid Server Script Include
var ImportFromMidServer = Class.create();
ImportFromMidServer.prototype = {
initialize: function () {
this.File = Packages.java.io.File;
this.FileReader = Packages.java.io.FileReader;
this.BufferedReader = Packages.java.io.BufferedReader;
this.StringBuilder = Packages.java.lang.StringBuilder;
this.verbose = probe.getParameter("verbose");
},
execute: function () {
var xmlFile = new this.File("C://test.xml");
var fileReader = new this.FileReader(xmlFile);
var bufReader = new this.BufferedReader(fileReader);
var sb = new this.StringBuilder();
var line = bufReader.readLine();
while( line != null){
sb.append(line).append("\n");
line = bufReader.readLine();
}
var xml2String = sb.toString();
this.debug("xml2String=" + xml2String);
bufReader.close();
probe.setParameter("Output", xml2String);
return xml2String;
},
debug: function (m) {
if (this.verbose == "true") {
ms.log(m);
}
},
type: ImportFromMidServer
};
2)
Background Script->
var jspr = new JavascriptProbe('mymidserver');
jspr.setName('ImportFromMidServer');
jspr.addParameter("verbose", "true");
jspr.setJavascript('var exp = new ImportFromMidServer(); res = exp.execute();ms.log(res);');
//gs.print(probe.getParameter('Output'));
jspr.create();
- Labels:
-
Integrations
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-01-2017 06:10 AM
Hi Amit,
You will have to fetch the string from ecc queue because you are just creating javascript probe and it will be executed based on the availability of the server. So i think we need to leverage ECC queue for getting output parameter value.
Hope this helps.
Regards
Ujjawal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-03-2017 05:25 AM
Hi Ujjwal, Thanks for the reply, yes we need to leverage the ECC Queue because there is no way to return value from javascript probe as output.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-10-2023 09:29 AM
Create an ECC Queue record
Agent=mid.server.<MY_MIDServer_Name>
Queue=Output
Topic=JavascriptProbe
Payload=<?xml version="1.0" encoding="UTF-8"?><parameters><parameter name="script" value="result='helloworld';"/><parameter name="skip_sensor" value="true"/></parameters>
This will return something like ...
<?xml version="1.0" encoding="UTF-8"?><results probe_time="2" result_code="0"><result><output>helloworld</output></result><parameters><parameter name="agent" value="mid.server. ...etc.....