How to invoke a remote REST service in NiFi

Is it possible to use xmlHttpRequest in NIFI processor to invoke remote rest service? In my case the ExecuteScript processor (using Javascript) can't evaluate XMLHttpRequest; is there any similar solution I can use to get response data?

var OutputStreamCallback = Java.type("");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");

Date.prototype.isValid = function () {
    return ( === "[object Date]")
        && !isNaN(this.getTime());

var flowFile = session.get();

if (flowFile != null) {
    var fromDate = flowFile.getAttribute('fromDate')
    var uid = flowFile.getAttribute('uid')

    var xmlhttp = null;
    var result = null;

        xmlhttp = new XMLHttpRequest();
        if (typeof xmlhttp.overrideMimeType != 'undefined') {

    } else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }'GET', "similar url here WorkInfo?dateFrom=?&uid=?", true);
    xmlhttp.send(dateFrom, uid);
    if (xmlhttp.status == 200) {
        result = 'WorkInfoDate'
    flowFile = session.putAttribute(flowFile, 'filename', fromDate + '_' + result);

    flowFile = session.write(flowFile,
        new OutputStreamCallback(function (outputStream) {

    session.transfer(flowFile, REL_SUCCESS)



There is an InvokeHttp processor that can be used to invoke a REST service without writing any code:

The response from the service will be written to the contents of the flow file.


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us Javascript

©2020 All rights reserved.