I am using java 4.7 and I am able to retrieve json using esriRequest from our ArcGIS server. However, I have difficulty in showing this data on the map layer. the call map.addLayer(featureLayer); is not working. Here is the code I am using <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" /> <title>Request Test</title> <link rel="stylesheet" href="http://js.arcgis.com/4.2/esri/css/main.css"> <link rel="stylesheet" type="text/css" href="http://js.arcgis.com/4.2/dijit/themes/claro/claro.css"> <style> html, body, #viewDiv { height: 100%; width: 100%; margin: 0; padding: 0; } body { background-color: #FFF; overflow: hidden; font-family: "Trebuchet MS"; } #header { height: 3%; overflow: auto; } </style> <script src="http://js.arcgis.com/4.7/"></script> <script> require([ "esri/request", "dojo/on", "esri/Map", "esri/layers/FeatureLayer", "esri/renderers/support/jsonUtils", "esri/views/MapView", "esri/symbols/SimpleMarkerSymbol", "esri/Color", "esri/renderers/SimpleRenderer", "esri/tasks/support/FeatureSet", "dojo/domReady!" ], function ( esriRequest, on, Map, FeatureLayer, rendererJsonUtils, MapView, SimpleMarkerSymbol, Color, SimpleRenderer, FeatureSet ) { var map = new Map({ basemap: "streets" }); var view = new MapView({ container: "viewDiv", map: map, zoom: 4, center: [15, 65] // longitude, latitude }); var input = document.getElementById("inputUrl"); /************************************************ * * Define the 'options' for our request. * *************************************************/ var options = { query: { f: 'json' } responseType: 'json' }; // Make the request on a button click using the // value of the 'input' text. on(btnQuery, "click", function () { var url = input.value; esriRequest(url, options).then(function (response) { var responseJSON = JSON.stringify(response, null, 2); var search_layer_result = JSON.parse(responseJSON); var fs = new FeatureSet(search_layer_result); var layerDefinition = { "displayFieldName": "NAME", "geometryType": "esriGeometryPoint", "spatialReference": { "wkid": 32633 }, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID" }, { "name": "NAME", "type": "esriFieldTypeString", "alias": "NAME", "length": 50 } ] }; var featureCollection = { layerDefinition: layerDefinition, featureSet: fs }; var featureLayer = new FeatureLayer(featureCollection); map.addLayer(featureLayer); }); }); }); </script> </head> <body> <div class="container"> <div> <h2>Using esri/request</h2> <button id="btnQuery">Make Request</button> <input id="inputUrl" type="text" value="https://arcgisserver/map"> </div> </div> <div id="viewDiv">MAP HERE</div> </body> </html>