AnsweredAssumed Answered

Extract service returns 400 error on requesting output info

Question asked by bb1769 on Oct 4, 2017

We originally created five extract tools in a toolbox based on the default Extract tool, the only difference being the layers available, each associated with a different map service. These services were all working fine.

Now I modified the extract Python script slightly, just to add the input AOI to the output zip folder. I replaced the default script with my modified one, wired up the inputs, and then ran and updated each tool/service. No errors or warnings during that process for any of the five tools or services.

We call the extract GP services from a JavaScript API app (v. 3.19). Three of the five updated services are working fine. In the two others, the processing appears to run OK up until the web app requests the output data information. When the web app makes the request:

https://<serverurl>/arcgis/rest/services/<service>/GPServer/<service>_Extract/jobs/jba45b00292cf48738586817ea14ab1dd/results/Output_Zip_File?f=json&returnType=data

The server will respond with:

{"error":{"code":400,"message":"Unable to complete operation.","details":["ERROR: Server environment property not found: requestProperties"]}}

Or sometimes the "details" node in the response is simply empty.

I can see that the extract zip file gets created successfully in the scratch folder, so it's not that the extract fails. The server just won't return the details of the output zip file. If I re-run the URL above manually I get the same error response.

Oddly, if I run the task via the Services Directory, using the exact same AOI and other parameters, I can get the output data information OK. The request sent to the server is exactly the same as the one above (except for the job ID). Yet in this case it succeeds. So I suspect something in how the extract is being handled is causing problems, but it's not obvious what, and the error message isn't very helpful. Any ideas appreciated.

Outcomes