Error: Error executing tool.: Layer "layername": Unable to connect to map server at http://server/path. Failed to execute...
An error similar to the following is returned when printing a document from a web service hosted on an external network:
Error: "Error executing tool.: Layer "layername": Unable to connect to map server at http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer. Failed to execute (Export Web Map). Failed to execute (Export Web Map Task)."
The following are possible causes for the error:
- Local or domain firewall configurations are disallowing communication between internal and external networks.
- The account used to access the external web service has insufficient privileges.
- Closed ports are disallowing communication between internal and external network.
Solution or Workaround
The following are suggestions to identify the cause of the issue:
- Confirm ports 4000, 4001, 4002, and 4003 are open. These ports are used for communication between GIS servers.
- Navigate to the Windows Start menu.
- In the Search interface, type cmd, and press Enter.
- In the command prompt window, type netstat –ano | findstr "4000 4001 4002 4003", and press Enter.
Note: The command line lists open and connected ports. Ports listening for incoming connections are listed as LISTENING and ports with established connections are listed as ESTABLISHED. The following document describes this in detail, ArcGIS for Server: Ports used by ArcGIS Server.
- Configure firewall exceptions to allow communication between internal and external networks. The following technical article describes this in detail, HowTo: Configure ArcGIS Desktop 10 through a firewall.
- Grant the appropriate permissions for the ArcGIS account to enable communication with external networks. The following document describes this in detail, Alter dataset permissions.
- Configure and deploy a reverse proxy server. This is a secure method of enabling internal and external traffic to communicate without compromising security. The following document describes this in detail, Using a reverse proxy server with ArcGIS Server.
Note: If ArcGIS Online hosts map services on an external network, the external URL, for example: http://services.arcgisonline.com/ArcGIS/rest/services, must be added to the serverUrls string in the proxy.config file. This allows requests to be forwarded to the appropriate destination. The following blog post explains this in further detail, Support Services Blog: Setting up a Proxy.
- ArcGIS for Server: Printing in web applications
- ArcGIS for Server: Printing maps that contain secured services
- ArcGIS for Server: Single-machine deployment with reverse proxy server
- ArcGIS for Server: Advanced considerations when using domain accounts
- ArcGIS for Server: Best practices for configuring a secure environment