2

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.

2
  • Cindy, have you upgraded beyond 10.1, and will you comment/update on whether the composite locator correctly publishes in later releases? Nov 26, 2014 at 16:15
  • @JasonInVegas I used the answer below at the time, but it didn't work. After a few days I tried again through the normally publishing process and it worked. Nothing changed on the server during that time, so I chalked it up to ArcGIS needing one of its frequent nap times. I'm on 10.2.2, but am not sure if the composite locator issue has been resolved. Dec 3, 2014 at 9:20

1 Answer 1

3

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": []
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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