<?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 Local Server GeoprocessingJob Failing in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/local-server-geoprocessingjob-fails/m-p/1348152#M69495</link>
    <description>&lt;P&gt;I have generated a .gpkx package using a custom tool that accepts a .lyr file as input and produces a layer as output. The tool runs successfully in ArcGIS Pro, and the .gpkx is created without any issues. However, when attempting to use the .gpkx in my WPF application through a local runtime server, the GeoprocessingJob encounters failures. Can anyone provide insights or suggestions on resolving this issue?&lt;/P&gt;&lt;P&gt;Actually I want to display Layers from .lyr file in my WPF application using ArcGIS Maps SDK.Net but as there is no direct way to load .lyr file in Maps SDK so I am trying to create a .gpkx to load layer using Local Server.&lt;/P&gt;&lt;P&gt;Follwoing is arcpy code from which .gpkx was generated&lt;/P&gt;&lt;P&gt;import arcpy&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;def script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr):&lt;BR /&gt;arcpy.env.workspace = outfolderpath&lt;BR /&gt;projName = "mmpkproject"&lt;BR /&gt;projNamewithPath = os.path.join(outfolderpath, f"{projName}.aprx")&lt;BR /&gt;outmpkxfilepath = os.path.join(outfolderpath, "mpkxpackagefile.mpkx")&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;aprx = arcpy.mp.ArcGISProject(inputprojectpath)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;newMap = aprx.createMap("mmpkmap", "Map")&lt;BR /&gt;&lt;BR /&gt;insertLyr = arcpy.mp.LayerFile(inputlyrfile)&lt;BR /&gt;&lt;BR /&gt;newMap.addLayer(insertLyr)&lt;BR /&gt;&lt;BR /&gt;insertLyr.saveACopy(outputlyr)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;del aprx&lt;BR /&gt;&lt;BR /&gt;return&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;if __name__ == "__main__":&lt;/P&gt;&lt;P&gt;inputlyrfile = arcpy.GetParameterAsText(0)&lt;BR /&gt;outfolderpath = arcpy.GetParameterAsText(1)&lt;BR /&gt;inputprojectpath = arcpy.GetParameterAsText(2)&lt;BR /&gt;outputlyr = arcpy.GetParameterAsText(3)&lt;BR /&gt;&lt;BR /&gt;script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr)&lt;/P&gt;&lt;P&gt;===============================================&lt;/P&gt;&lt;P&gt;Following are input/output parmeters set in Tool properties&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="toolprops.JPG" style="width: 909px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/85614iA8AEA1349070BE4D/image-size/large?v=v2&amp;amp;px=999" role="button" title="toolprops.JPG" alt="toolprops.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my WPF application I am following the ArcGIS Maps sdk sample to consume the .gpkx using Local Server but GeoprocessingJob is failing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;private LocalGeoprocessingService _gpService;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingTask _gpTask;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingJob _gpJob;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void BtnGeoProcessing_Click(object sender, RoutedEventArgs e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;LocalServer.Instance.AppDataPath = "C:\\EsriSamples\\AppData";&lt;/DIV&gt;&lt;DIV&gt;await LocalServer.Instance.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService = new LocalGeoprocessingService("path of .gpkx file", GeoprocessingServiceType.AsynchronousSubmitWithMapServiceResult);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService.StatusChanged += GpServiceOnStatusChanged;&lt;/DIV&gt;&lt;DIV&gt;await _gpService.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpServiceOnStatusChanged(object sender, StatusChangedEventArgs statusChangedEventArgs)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (statusChangedEventArgs.Status != LocalServerStatus.Started)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string strUrl = _gpService.Url + "/myscripttool";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpTask = await GeoprocessingTask.CreateAsync(new Uri(strUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RunJob();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(ex.Message);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private void RunJob()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; GeoprocessingParameters gpParams = new GeoprocessingParameters(GeoprocessingExecutionType.AsynchronousSubmit);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputLayer = "D:\\data\\input\\somelayer_LYR.lyr";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputProjectFilePath = "D:\\data\\input\\templateproject\\templateproject.aprx";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strOutFolder = "D:\\data";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputlyrfile"] = new GeoprocessingString(strInputLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["outfolderpath"] = new GeoprocessingString(strOutFolder);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputprojectpath"] = new GeoprocessingString(strInputProjectFilePath);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_gpJob = _gpTask.CreateJob(gpParams);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _gpJob.StatusChanged += GpJobOnJobChanged;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpJob.Start();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpJobOnJobChanged(object o, JobStatus e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status == JobStatus.Failed) // &lt;STRONG&gt;HERE JOB FAILS&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show("Job Failed");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status != JobStatus.Succeeded)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{ return; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string gpServiceResultUrl = _gpService.Url.ToString();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string jobSegment = "MapServer/jobs/" + _gpJob.ServerJobId;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpServiceResultUrl = gpServiceResultUrl.Replace("GPServer", jobSegment);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; VM.LblStatus += Environment.NewLine + "Creating layer from job result ";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ArcGISMapImageLayer myMapImageLayer = new ArcGISMapImageLayer(new Uri(gpServiceResultUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await myMapImageLayer.LoadAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dispatcher.Invoke(() =&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MainMapView.Map.OperationalLayers.Add(myMapImageLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Nov 2023 09:22:23 GMT</pubDate>
    <dc:creator>Muhammadkhalid</dc:creator>
    <dc:date>2023-11-10T09:22:23Z</dc:date>
    <item>
      <title>Local Server GeoprocessingJob Fails</title>
      <link>https://community.esri.com/t5/python-questions/local-server-geoprocessingjob-fails/m-p/1348154#M69494</link>
      <description>&lt;P&gt;I have generated a .gpkx package using a custom tool that accepts a .lyr file as input and produces a layer as output. The tool runs successfully in ArcGIS Pro, and the .gpkx is created without any issues. However, when attempting to use the .gpkx in my WPF application through a local runtime server, the GeoprocessingJob encounters failures. Can anyone provide insights or suggestions on resolving this issue?&lt;/P&gt;&lt;P&gt;Actually I want to display Layers from .lyr file in my WPF application using ArcGIS Maps SDK.Net but as there is no direct way to load .lyr file in Maps SDK so I am trying to create a .gpkx to load layer using Local Server.&lt;/P&gt;&lt;P&gt;Follwoing is arcpy code from which .gpkx was generated&lt;/P&gt;&lt;P&gt;import arcpy&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;def script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr):&lt;BR /&gt;arcpy.env.workspace = outfolderpath&lt;BR /&gt;projName = "mmpkproject"&lt;BR /&gt;projNamewithPath = os.path.join(outfolderpath, f"{projName}.aprx")&lt;BR /&gt;outmpkxfilepath = os.path.join(outfolderpath, "mpkxpackagefile.mpkx")&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;aprx = arcpy.mp.ArcGISProject(inputprojectpath)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;newMap = aprx.createMap("mmpkmap", "Map")&lt;BR /&gt;&lt;BR /&gt;insertLyr = arcpy.mp.LayerFile(inputlyrfile)&lt;BR /&gt;&lt;BR /&gt;newMap.addLayer(insertLyr)&lt;BR /&gt;&lt;BR /&gt;insertLyr.saveACopy(outputlyr)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;del aprx&lt;BR /&gt;&lt;BR /&gt;return&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;if __name__ == "__main__":&lt;/P&gt;&lt;P&gt;inputlyrfile = arcpy.GetParameterAsText(0)&lt;BR /&gt;outfolderpath = arcpy.GetParameterAsText(1)&lt;BR /&gt;inputprojectpath = arcpy.GetParameterAsText(2)&lt;BR /&gt;outputlyr = arcpy.GetParameterAsText(3)&lt;BR /&gt;&lt;BR /&gt;script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr)&lt;/P&gt;&lt;P&gt;&amp;nbsp;===============================================&lt;/P&gt;&lt;P&gt;Following are input/output parameters set in Tool properties&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="toolprops.JPG" style="width: 909px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/85615i4F4C0392E125AF87/image-size/large?v=v2&amp;amp;px=999" role="button" title="toolprops.JPG" alt="toolprops.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In my WPF application I am following the ArcGIS Maps sdk sample to consume the .gpkx using Local Server but GeoprocessingJob is failing.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;private LocalGeoprocessingService _gpService;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingTask _gpTask;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingJob _gpJob;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void BtnGeoProcessing_Click(object sender, RoutedEventArgs e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;LocalServer.Instance.AppDataPath = "C:\\EsriSamples\\AppData";&lt;/DIV&gt;&lt;DIV&gt;await LocalServer.Instance.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService = new LocalGeoprocessingService("path of .gpkx file", GeoprocessingServiceType.AsynchronousSubmitWithMapServiceResult);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService.StatusChanged += GpServiceOnStatusChanged;&lt;/DIV&gt;&lt;DIV&gt;await _gpService.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpServiceOnStatusChanged(object sender, StatusChangedEventArgs statusChangedEventArgs)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (statusChangedEventArgs.Status != LocalServerStatus.Started)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string strUrl = _gpService.Url + "/myscripttool";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpTask = await GeoprocessingTask.CreateAsync(new Uri(strUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RunJob();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(ex.Message);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private void RunJob()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; GeoprocessingParameters gpParams = new GeoprocessingParameters(GeoprocessingExecutionType.AsynchronousSubmit);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputLayer = "D:\\data\\input\\somelayer_LYR.lyr";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputProjectFilePath = "D:\\data\\input\\templateproject\\templateproject.aprx";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strOutFolder = "D:\\data";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputlyrfile"] = new GeoprocessingString(strInputLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["outfolderpath"] = new GeoprocessingString(strOutFolder);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputprojectpath"] = new GeoprocessingString(strInputProjectFilePath);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_gpJob = _gpTask.CreateJob(gpParams);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _gpJob.StatusChanged += GpJobOnJobChanged;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpJob.Start();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpJobOnJobChanged(object o, JobStatus e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status == JobStatus.Failed)// HERE JOB FAILS&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show("Job Failed");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status != JobStatus.Succeeded)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{ return; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string gpServiceResultUrl = _gpService.Url.ToString();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string jobSegment = "MapServer/jobs/" + _gpJob.ServerJobId;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpServiceResultUrl = gpServiceResultUrl.Replace("GPServer", jobSegment);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; VM.LblStatus += Environment.NewLine + "Creating layer from job result ";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ArcGISMapImageLayer myMapImageLayer = new ArcGISMapImageLayer(new Uri(gpServiceResultUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await myMapImageLayer.LoadAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dispatcher.Invoke(() =&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MainMapView.Map.OperationalLayers.Add(myMapImageLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;</description>
      <pubDate>Fri, 10 Nov 2023 09:29:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/local-server-geoprocessingjob-fails/m-p/1348154#M69494</guid>
      <dc:creator>Muhammadkhalid</dc:creator>
      <dc:date>2023-11-10T09:29:21Z</dc:date>
    </item>
    <item>
      <title>Local Server GeoprocessingJob Failing</title>
      <link>https://community.esri.com/t5/python-questions/local-server-geoprocessingjob-fails/m-p/1348152#M69495</link>
      <description>&lt;P&gt;I have generated a .gpkx package using a custom tool that accepts a .lyr file as input and produces a layer as output. The tool runs successfully in ArcGIS Pro, and the .gpkx is created without any issues. However, when attempting to use the .gpkx in my WPF application through a local runtime server, the GeoprocessingJob encounters failures. Can anyone provide insights or suggestions on resolving this issue?&lt;/P&gt;&lt;P&gt;Actually I want to display Layers from .lyr file in my WPF application using ArcGIS Maps SDK.Net but as there is no direct way to load .lyr file in Maps SDK so I am trying to create a .gpkx to load layer using Local Server.&lt;/P&gt;&lt;P&gt;Follwoing is arcpy code from which .gpkx was generated&lt;/P&gt;&lt;P&gt;import arcpy&lt;BR /&gt;import os&lt;/P&gt;&lt;P&gt;def script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr):&lt;BR /&gt;arcpy.env.workspace = outfolderpath&lt;BR /&gt;projName = "mmpkproject"&lt;BR /&gt;projNamewithPath = os.path.join(outfolderpath, f"{projName}.aprx")&lt;BR /&gt;outmpkxfilepath = os.path.join(outfolderpath, "mpkxpackagefile.mpkx")&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;aprx = arcpy.mp.ArcGISProject(inputprojectpath)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;newMap = aprx.createMap("mmpkmap", "Map")&lt;BR /&gt;&lt;BR /&gt;insertLyr = arcpy.mp.LayerFile(inputlyrfile)&lt;BR /&gt;&lt;BR /&gt;newMap.addLayer(insertLyr)&lt;BR /&gt;&lt;BR /&gt;insertLyr.saveACopy(outputlyr)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;del aprx&lt;BR /&gt;&lt;BR /&gt;return&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;if __name__ == "__main__":&lt;/P&gt;&lt;P&gt;inputlyrfile = arcpy.GetParameterAsText(0)&lt;BR /&gt;outfolderpath = arcpy.GetParameterAsText(1)&lt;BR /&gt;inputprojectpath = arcpy.GetParameterAsText(2)&lt;BR /&gt;outputlyr = arcpy.GetParameterAsText(3)&lt;BR /&gt;&lt;BR /&gt;script_tool(inputlyrfile, inputprojectpath, outfolderpath, outputlyr)&lt;/P&gt;&lt;P&gt;===============================================&lt;/P&gt;&lt;P&gt;Following are input/output parmeters set in Tool properties&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="toolprops.JPG" style="width: 909px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/85614iA8AEA1349070BE4D/image-size/large?v=v2&amp;amp;px=999" role="button" title="toolprops.JPG" alt="toolprops.JPG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In my WPF application I am following the ArcGIS Maps sdk sample to consume the .gpkx using Local Server but GeoprocessingJob is failing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;private LocalGeoprocessingService _gpService;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingTask _gpTask;&lt;/DIV&gt;&lt;DIV&gt;private GeoprocessingJob _gpJob;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void BtnGeoProcessing_Click(object sender, RoutedEventArgs e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;LocalServer.Instance.AppDataPath = "C:\\EsriSamples\\AppData";&lt;/DIV&gt;&lt;DIV&gt;await LocalServer.Instance.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService = new LocalGeoprocessingService("path of .gpkx file", GeoprocessingServiceType.AsynchronousSubmitWithMapServiceResult);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;_gpService.StatusChanged += GpServiceOnStatusChanged;&lt;/DIV&gt;&lt;DIV&gt;await _gpService.StartAsync();&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpServiceOnStatusChanged(object sender, StatusChangedEventArgs statusChangedEventArgs)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (statusChangedEventArgs.Status != LocalServerStatus.Started)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; string strUrl = _gpService.Url + "/myscripttool";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpTask = await GeoprocessingTask.CreateAsync(new Uri(strUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RunJob();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(ex.Message);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private void RunJob()&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; GeoprocessingParameters gpParams = new GeoprocessingParameters(GeoprocessingExecutionType.AsynchronousSubmit);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputLayer = "D:\\data\\input\\somelayer_LYR.lyr";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strInputProjectFilePath = "D:\\data\\input\\templateproject\\templateproject.aprx";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string strOutFolder = "D:\\data";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputlyrfile"] = new GeoprocessingString(strInputLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["outfolderpath"] = new GeoprocessingString(strOutFolder);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpParams.Inputs["inputprojectpath"] = new GeoprocessingString(strInputProjectFilePath);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;_gpJob = _gpTask.CreateJob(gpParams);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; _gpJob.StatusChanged += GpJobOnJobChanged;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _gpJob.Start();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;private async void GpJobOnJobChanged(object o, JobStatus e)&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status == JobStatus.Failed) // &lt;STRONG&gt;HERE JOB FAILS&lt;/STRONG&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show("Job Failed");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if (_gpJob.Status != JobStatus.Succeeded)&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{ return; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string gpServiceResultUrl = _gpService.Url.ToString();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; string jobSegment = "MapServer/jobs/" + _gpJob.ServerJobId;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; gpServiceResultUrl = gpServiceResultUrl.Replace("GPServer", jobSegment);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; VM.LblStatus += Environment.NewLine + "Creating layer from job result ";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ArcGISMapImageLayer myMapImageLayer = new ArcGISMapImageLayer(new Uri(gpServiceResultUrl));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; try&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; await myMapImageLayer.LoadAsync();&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dispatcher.Invoke(() =&amp;gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MainMapView.Map.OperationalLayers.Add(myMapImageLayer);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; catch (Exception ex)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; {&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; }&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2023 09:22:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/local-server-geoprocessingjob-fails/m-p/1348152#M69495</guid>
      <dc:creator>Muhammadkhalid</dc:creator>
      <dc:date>2023-11-10T09:22:23Z</dc:date>
    </item>
  </channel>
</rss>

