What I'm using: ArcGIS For Server 10.4, ArcMap 10.4, ArcGIS Online

I created a geoprocessing service using ModelBuilder that selects points from a layer based on a certain field, "XYZ". It buffers those points and returns the polygons as the output. My input schema in the service definition is set to only check for field "XYZ" (and the default ObjectID and Shape).

If I access the service in ArcMap, it will run on any points layer I supply it with as long as it has the field "XYZ". If I take a layer that it successfully processed in ArcMap and upload it to ArcGIS Online and then try running it with the service via a Geoprocessing widget, it fails (both Synchronous and Asynchronous). However, if I turn all of the fields except for "XYZ" off before pushing the layer to ArcGIS Online, the gp service will work correctly on that layer.

Is there some sort of schema change I'm missing when publishing layers to ArcGIS online to be hosted? Or what could be the possible reason it only fails on layers that have all of the fields? I've also tried having the input schema including all of the fields, but it shows the same behavior.

  • Would probably be a good case for contacting the tech support, it might be hard to troubleshoot... – Alex Tereshenkov Apr 26 '16 at 19:28
  • Thanks, I spoke with tech support about it and they weren't able to resolve it on the phone/screen share. They're doing some additional troubleshooting with some data I sent them, but I thought someone might be able to give some input here as well in the mean time. – traben27 Apr 26 '16 at 19:37

I found the problem and solution. The original layer had a GUID field that seemed to be causing an issue. I noticed that when accessing the hosted layer within ArcMap, the attribute table wouldn't load and threw an error because of this field. To solve, I created a text version of the field and republished. The geoprocessing service now works on the new layer.

Another interesting note is regarding the record size of feature services. The layer I had published had ~10,000 records. I found that the gp service would only return a buffer on the points with an objectID less than 1,000. There is a parameter in the service that I had to change to fix this. In the end I changed the way my data was displayed so that I had less than 100 records to speed up rendering on the client, but either way it works now.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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