Problem: Extract server zip file is missing shapefiles or layers


When using the extract server a zip file is placed in the output directory, but some or all of the layers of your service do not have shapefiles in the file.


The following are possible causes:

1. Incorrect extents could be causing the Extract server to extract from outside the boundaries of your layer or at a scale that is invalid based on scale dependencies.

2. If one of your layer ids contains a character that is not a valid character for a filename, you may see this problem.

3. A layerlist element is being used to specify whether shapefiles will be created for certain layers in the zip file.

Solution or Workaround

  1. Verify that your extents are correct by viewing the map at the same extent and image size, noting whether or not your missing layers are displayed.

    If they are not displaying, then you will need to investigate the cause of this. This is often due to scale dependencies or your data being unavailable due to ArcSDE unavailability.
    If your extract request does not include the IMAGESIZE element, a value of 400 by 300 pixels will be used, and this default value will be used in computing the current scale of your map.

  2. Open your ArcXML configuration file (AXL) and check every layer's id to confirm that none of them use invalid filename characters. Examples of invalid characters are:

    · ? or * (wildcard characters)
    · / or \ (directory separators)
    · <, >, | (redirection characters)
    · "
    · : (drive separator in Windows)

    Should you find an invalid character in your layer id, you may either change the id or specify the name of the shapefile to be extracted for that layer. For details on setting the name of the shapefile for a layer, please see the OUTPUTFILE entry in the ArcXML guide.
  3. If you are using a LAYERLIST element in your extract request or the connector you are using is generating the request using a LAYERLIST element, then double-check the syntax of this element. In particular check whether the "nodefault" attribute of LAYERLIST is set to "true". When "nodefault" is set to "true", only layers explicitly mentioned in the LAYERLIST are extracted.