BUG
If a Filter is set on a Feature Layer, ArcIMS Java Connector normally sends a GET_FEATURES request. However, if a layer is dynamically added to the map before applying the Filter object, it sends a GET_IMAGE request even though users are interested in getting attribute information and not a map image.
When a dynamic layer is added to the map, Java Connector sends a GET_IMAGE request.
Code:
ShapeWorkspace shpw = new ShapeWorkspace();
...
map.addWorkspace(shpw);
Dataset data = new Dataset();
...
FeatureLayer fl = new FeatureLayer("topo", null, null);
fl.setDataset(data);
...
map.getLayers().add(fl);
Code:
Filter filter = new Filter();
filter.setSpatialObject(envelope);
...
fLayer = (FeatureLayer)map.getLayers().item(1);
fLayer.setFilterObject(filter);
Code:
map.refresh();
mapURL = map.getMapOutput().getURL();
Code:
map.getLayers().remove(map.getLayers().getCount()-1);
map.removeWorkspace(0);
Get help from ArcGIS experts
Download the Esri Support App