javascript – 如何在NiFi中调用远程REST服务

是否可以在NIFI处理器中使用xmlHttpRequest来调用远程休息服务?在我的例子中,ExecuteScript处理器(使用Javascript)无法评估XMLHttpRequest;我可以使用任何类似的解决方案来获取响应数据吗?

var OutputStreamCallback = Java.type("org.apache.nifi.processor.io.OutputStreamCallback");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");

Date.prototype.isValid = function () {
    return (Object.prototype.toString.call(this) === "[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') {
            xmlhttp.overrideMimeType('application/json');

    } else if (window.ActiveXObject) {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open('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) {
            outputStream.write(command.getBytes(StandardCharsets.UTF_8))
        }));

    session.transfer(flowFile,REL_SUCCESS)
}
最佳答案

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...