Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I created two address locators in a shared file gdb which I then published as separate geocode services. After performing several test searches in ArcMap against the gdb locators and the services, everything seemed to be working correctly.

I then created a composite address locator in the file gdb, composed of the two separate geocode services and then published the composite locator on the server. When I get to the Service Editor and Analyze, the only warning I get is that the composite locator will be copied to the server, even though the gdb is accessible to the server. This is a minor issue though, as covered in the answer to this question.

The problem occurs after clicking Publish. ArcCatalog hangs for a few seconds, then crashes. I rebooted the machine and tried again, and the same thing happened. I then tried from a different admin account, and it crashed again. A post on the ArcGIS forum indicates that this might be an issue in ArcGIS itself when trying to include online services in a composite locator service.

I'd like to know if this is possibly a bug, or if there is some workaround or settings that must be changed. I left all the default settings unchanged. I'm using ArcGIS for Desktop 10.1 and ArcGIS for Server 10.1, with SP1.

share|improve this question
add comment

1 Answer 1

I had exactly the same problem myself. There is a bug logged at Esri: Publishing a composite locator as a geocoding service with an embedded geocoding service appears to be possible to publish but will not publish.

The workaround is to use the Administrator Directory API.

  1. Copy the composite and all of the participating locators to the ArcGIS Server machine.
  2. Go to http://localhost:6080/arcgis/admin on the server and log in with the site username and password.
  3. Select Services and then "createService"
  4. Copy and paste the following text into the text box making sure to change "serviceName", "locator", and "locatorWorkspacePath"

a. ServiceName = the name you want the service to be called.

b. Locator = the name of the locator on disk (don't include the extention).

c. LocatorWorkspacePath = the physical location on disk on the ArcGIS Server machine (including geodatabase name).

{
"serviceName": "GeocodingServiceName",
"type": "GeocodeServer",
"description": "",
"capabilities": "Geocode,ReverseGeocode",
"clusterName": "default",
"minInstancesPerNode": 1,
"maxInstancesPerNode": 1,
"instancesPerContainer": 1,
"maxWaitTime": 60,
"maxStartupTime": 300,
"maxIdleTime": 1800,
"maxUsageTime": 600,
"loadBalancing": "ROUND_ROBIN",
"isolationLevel": "HIGH",
"configuredState": "STARTED",
"recycleInterval": 24,
"recycleStartTime": "00:00",
"keepAliveInterval": 1800,
"private": false,
"isDefault": false,
"maxUploadFileSize": 0,
"allowedUploadFileTypes": "",
"properties": {
  "outputDir": "C:\\arcgisserver\\directories\\arcgisoutput",
  "virtualOutputDir": "/rest/directories/arcgisoutput",
  "locator": "CompositeLocator",
  "suggestedBatchSize": "1000",
  "minScale": "-1",
  "textAntialiasingMode": "Force",
  "antialiasingMode": "None",
  "maxScale": "-1",
  "maxResultSize": "500",
  "locatorWorkspacePath": "C:\\Data\\",
  "maxBatchSize": "1000"
},
"extensions": [],
"datasets": []
}
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.