<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Script tool for Geoprocessing Service in Geoprocessing Questions</title>
    <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317008#M11088</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Does anyone have any examples of script tools used in an ArcGIS server geoprocessing service? I guess they have to be written differently to script tools in the desktop environment but can't find any documentation on them&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Aug 2010 13:29:31 GMT</pubDate>
    <dc:creator>AdrianHughes</dc:creator>
    <dc:date>2010-08-03T13:29:31Z</dc:date>
    <item>
      <title>Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317008#M11088</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Does anyone have any examples of script tools used in an ArcGIS server geoprocessing service? I guess they have to be written differently to script tools in the desktop environment but can't find any documentation on them&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Aug 2010 13:29:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317008#M11088</guid>
      <dc:creator>AdrianHughes</dc:creator>
      <dc:date>2010-08-03T13:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317009#M11089</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Does anyone have any examples of script tools used in an ArcGIS server geoprocessing service? I guess they have to be written differently to script tools in the desktop environment but can't find any documentation on them&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Aside from watching your input/output parameters (being supported and how you reference them)...the scripts aren't really any different.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have a workflow or script that you're having problems with?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Aug 2010 15:12:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317009#M11089</guid>
      <dc:creator>KevinHibma</dc:creator>
      <dc:date>2010-08-03T15:12:18Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317010#M11090</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've read about the limitations in inputs and outputs. I had a script that worked fine in the desktop environment but gives a very ambiguous error on the server. The message in server manager is simply Error:Failed. Event viewer does not shed anymore light either.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still get the error with the very simplified script below. Perhaps its as you say to do with referencing the parameters. Is it correct to use sys.argv[]? My inputs are just two feature sets and a couple of strings&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;import sys, string, os, arcgisscripting&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;def InitialSetting():&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global gp&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp = arcgisscripting.create(9.3)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.Addtoolbox(r"C:\Program Files\ArcGIS\ArcToolBox\Toolboxes\Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; except:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print "error"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys.exit(0)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; global Printboth&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; def Printboth(msg):&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print msg&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.addmessage(msg)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Printboth("Importing ArcGIS scripting object successful")&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;InitialSetting()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.overwriteoutput = 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Load required toolboxes...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Conversion Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;# Script parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Method = sys.argv[1]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Binomial = sys.argv[2]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Known_Location_Points = sys.argv[3]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Inferred_Species_Range = sys.argv[4]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hydroshed_Layer =&amp;nbsp; "Hydrosheds_Taiwan"&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Aug 2010 07:50:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317010#M11090</guid>
      <dc:creator>AdrianHughes</dc:creator>
      <dc:date>2010-08-04T07:50:31Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317011#M11091</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The web help has multiple of published GP service examples: &lt;/SPAN&gt;&lt;A href="http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Guide_to_the_geoprocessing_service_examples" rel="nofollow noopener noreferrer" target="_blank"&gt;http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Guide_to_the_geoprocessing_service_examples&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would also use gp.getparameter() or gp.getparameterastext() to get your inputs instead of sys.argv. You shouldn't have to reference the toolboxes either.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In general when writing scripts I try to follow this format:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
import sys
import os
import traceback
import inspect
import arcgisscripting

class ErrorHandling(object):&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; def trace(self):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tb = sys.exc_info()[2]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tbinfo = traceback.format_tb(tb)[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # script name + line number
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line = tbinfo.split(", ")[1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename = inspect.getfile( inspect.currentframe() )
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Get Python syntax error
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; synerror = traceback.format_exc().splitlines()[-1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return line, filename, synerror


if __name__ == '__main__':
&amp;nbsp;&amp;nbsp;&amp;nbsp; try:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp = arcgisscripting.create(9.3)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.overwriteoutput = 1
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #!!!!! place python logic here !!!!!
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #
&amp;nbsp;&amp;nbsp;&amp;nbsp; except arcgisscripting.ExecuteError:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Return GEOPROCESSING specific errors #
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EH = ErrorHandling()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line, filename, err = EH.trace()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.adderror("Geoprocessing error on " + line + " of " + filename + " :")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for msg in range(0, gp.MessageCount):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if gp.GetSeverity(msg) == 2:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddReturnMessage(msg)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddError(gp.GetMessages(2))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; except:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Return any PYTHON or system specific errors #
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EH = ErrorHandling()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line, filename, err = EH.trace()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gp.AddError("Python error on " + line + " of " + filename + " : with error - " + err)
&amp;nbsp;&amp;nbsp;&amp;nbsp; finally:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; del gp

&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 15:04:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317011#M11091</guid>
      <dc:creator>AndrewChapkowski</dc:creator>
      <dc:date>2021-12-11T15:04:42Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317012#M11092</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've seen those examples but none of them use script tools. I'm still getting the same error (Error:Failed) for the very simple code below. Is there any way of getting a more meaningful error message&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import sys, string, os, arcgisscripting

&amp;nbsp; 
gp = arcgisscripting.create(9.3)
gp.overwriteoutput = 1



# Script parameters
Method = gp.GetParameterAsText(0)
Binomial = gp.GetParameterAsText(1)
Known_Location_Points = gp.GetParameter(2)
Inferred_Species_Range = gp.GetParameter(3)
Hydroshed_Layer =&amp;nbsp; "Hydrosheds_Taiwan"&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 15:04:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317012#M11092</guid>
      <dc:creator>AdrianHughes</dc:creator>
      <dc:date>2021-12-11T15:04:44Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317013#M11093</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Did you enable messaging on your service, this will give you the error messages from the server? To do that, you'll need to stop the service and check the show messages check box in catalog.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have your script/toolbox saved in a location where the server can access it?&amp;nbsp; For example,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I place my scripts and toolboxes in a directory inside the \\computer-name\arcgisserver folder.&amp;nbsp; Then I publish my script from the UNC referenced name.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Another consideration, is to reference the script by UNC path name.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Attached is a toolbox that contains a script that can be published to server, hopefully this will help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Aug 2010 12:44:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317013#M11093</guid>
      <dc:creator>AndrewChapkowski</dc:creator>
      <dc:date>2010-08-10T12:44:32Z</dc:date>
    </item>
    <item>
      <title>Re: Script tool for Geoprocessing Service</title>
      <link>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317014#M11094</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I didn't have messaging enabled. Thanks, thats helped a lot and I've now got a basic script to work.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Aug 2010 14:37:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/geoprocessing-questions/script-tool-for-geoprocessing-service/m-p/317014#M11094</guid>
      <dc:creator>AdrianHughes</dc:creator>
      <dc:date>2010-08-11T14:37:11Z</dc:date>
    </item>
  </channel>
</rss>

