Although Arcgis servers can be configured to provide WMS and WFS services, they are often only configured to provide REST and SOAP services. It is possible to connect to these layers in QGIS via the REST interface.Firstly (and the most difficult part) you need to find the URL for the REST service for your layer. E.g. you might want to use a layer that is available in the ESRI ‘Maps for Personal Use’ web map at: http://www.arcgis.com/home/webmap/viewer.html?useExisting=1Hopefully with a little googling you will be able to find the address where you can browse the ‘ArcGIS services directory’ of your favourite ArcGIS server. In this case it is: http://server.arcgisonline.com/ArcGIS/rest/services/ Find the layer that you want, copy the url for the REST service, and now you have at least two options:1. In the QGIS Python console, run this: It is not possible to establish a direct connection to an ArcGIS Server in QGIS for vectors layers. HOWEVER you can use the ogr2ogr utility provided in GDAL/OGR (v1.9 and up) which is standard in QGIS 2+ using the ‘Protocol’ Add Vector type to import E$RI ArcGIS Server formatted JSON response generated when you submit your request as a query. The ArcGIS Server must implement E$RI’s Geoservices REST v1.0, however the vast majority will, as this interface is used by nearly all of their web mapping APIs. Step 2Navigate to the MapServer or FeatureServer your interested in (Service Directory ->, Folder ->,/ MapServer ->,/ Layer). Note that you’ll have to submit a separate command/query for each layer/objectid # on the MapServer… http://geodata.epa.gov/arcgis/rest/services/OAR/USEPA_NEI_2005/MapServer/1/query?where=objectid+%3D+objectid&outfields=*&f=json Step 44.A – Adding URL as a Vector File in QGISIn QGIS use the ‘Add Vector File’ menu toggle to ‘Protocol’ and copy and paste the URL. Done – See notes below on Projections and conversion from here. 4.B – Alternative Method using GDAL/OGR from Command Line:Open GDAL/OGR command line (NOTE- you may want to first copy and paste the GDAL folder or ‘ogr2org.exe’ to a new folder where you’ll want the data to save to). Windows users can use the OSGeo4w installer going to advance install and select all the GDAL commandlines and libraries to install into this new folder (make sure you’re installing GDAL v1.9 or higher), linux users I won’t have to tell you what to do, because your smart enough, Mac/OSX users as always your on your own :). Copy and Paste the following into your favorite text editer, making sure you rename the filename (NOTE:No spaces in the filename) and URL: Now all you need to change for each layer is the # for the objectid (in the case /1/) and the FILENAME. Open the newly created file as a GeoJSON vector or drag and drop this file into QGIS. The features may not appear at first, if you received the error that I mentioned above, you’ll have to first manually set the CRS to the projection the server used, you should be able to find this as ‘Spatial Reference:’ on the MapServer page in the ArcGIS Services Directory. *Special Note – This will only query the first 1000 or sometimes 500 features. You can string multiple queries after this at 250 feature requests each by specficing the objectid # which is the uniqueid ArcGIS uses happily these are always whole numbers starting at 1 without gaps. To do this replace &objectid& with &objectid=1, 2, 3, 4, …&. To find out how many features a particular feature contains you can replace &outfile…=json@ with count google ArcGIS REST Query for more types of requests the server can handle. If someone is interested in developing a script/plugin for QGIS, please let me know email@example.com Source.