Skip To Content

タスク操作: 実行 (REST)

各ジオプロセシング タスクでは、親サービスの実行タイプ プロパティに基づいて操作がサポートされています。ジオプロセシング サービスの実行タイプが同期である場合、そのサービス内のすべてのジオプロセシング タスクはタスク実行操作のみをサポートします。タスク実行操作の URL は http://<GP タスクの URL>/execute です。

タスクの実行方法

ジオプロセシング タスクを実行するには、次に示すように、クライアントがタスク実行の URL を使ってリクエスト URL を作成し、タスクに必要なすべての入力パラメーターの名前と値のペアを追加する必要があります。

http://<タスクの URL>/execute?parameter1=value1&parameter2=value2

parameter1=value1 は名前と値のペアです。ここで parameter1 はタスク パラメーターの名前、value1 は JSON 値の ASCII 表現です。リクエスト URL がサーバーに送信されると、指定された入力値を使ってタスクがサーバー上で実行されます。実行終了時にタスクが成功した場合は、次の図に示すように、サーバーが、出力パラメーターの値を含む応答を作成し、クライアントに送信します。タスクが失敗すると、サーバーはエラー応答をクライアントに送信します。

サーバーでのタスク実行

成功したタスク結果

クライアントによって送信される応答はジオプロセシング タスク結果と呼ばれ、実行時にジオプロセシング タスクによって生成された出力パラメーター値とメッセージで構成されます。タスク結果には出力パラメーターの配列が含まれます。配列内の出力パラメーターごとに、paramNamedataType、およびその value が示されます。また、タスク結果にはジオプロセシング messages の配列も含まれます。メッセージの配列内のエレメントごとに、タイプ (esriJobMessageTypeInformativeesriJobMessageTypeWarning、または esriJobMessageTypeError) とメッセージの説明が示されます。サーバーから返されるメッセージは、ジオプロセシング サービスのメッセージ レベルによって異なります。メッセージ レベルがなしに設定されている場合、サーバーはメッセージを返しません。

ジオプロセシング サービスのメッセージ レベルの詳細

1 つの出力パラメーター Output_Polygons を含む、バッファー ポイント タスクのタスク結果の JSON を次に示します。

ジオプロセシング タスク結果の JSON 表現 (この例では、簡潔にするため、ジオメトリとメッセージの配列の値が切詰められています。)

{
 "results":[
  {"paramName": "Output_Polygons",
   "dataType": "GPFeatureRecordSetLayer",
   "value":{
    "displayFieldName": "",
    "geometryType": "esriGeometryPolygon",
    "spatialReference": {"wkid": 102726,"latestWkid": 102726},
    "fields":[{"name": "FID","type": "esriFieldTypeOID","alias": "FID"},
              {"name": "BUFF_DIST","type": "esriFieldTypeDouble","alias": "BUFF_DIST"},
              {"name": "Shape_Length","type": "esriFieldTypeDouble","alias": "Shape_Length"},
              {"name": "Shape_Area","type": "esriFieldTypeDouble","alias": "Shape_Area"},
    "features": [{"attributes": {"FID": 1,"BUFF_DIST": 3280.83333333,"Shape_Length": 20613.401930152133,
    "Shape_Area": 3.381121258723078E7},
    "geometry": {"rings": [[[7643591.49993746,684676.8331969529],[7643683.927544728,684675.5310036689],...more]]},        
    "exceededTransferLimit": false
           }
   }],
 "messages": [{"type":"esriJobMessageTypeInformative","description": "Start Time: Mon Feb 27 15:56:09 2012"},
              {"type":"esriJobMessageTypeInformative","description": "Executing (BufferPoints): BufferPoints.. "}...more
  ]
}

エラー応答

無効なパラメーターまたは他のジオプロセシング ツールの障害のため、タスク実行操作が失敗することがあります。このような場合、サーバーは、コード番号と文字列 Unable to complete operation. (操作を完了できません。)、および失敗の詳細を示すジオプロセシング タスク エラーを返します。エラーの JSON フォーマットを次に示します。

ジオプロセシング タスクによって返されるエラーの JSON

{"error":{"code":400,"message":"Unable to complete operation.","details":[]}}

エラー応答の詳細レベルは、ジオプロセシング サービスのメッセージ レベルによって異なります。メッセージ レベルに基づいて、詳細プロパティに、実行時に生成された該当するジオプロセシング ツール メッセージが含まれます。ツールの入力パラメーターが無効な場合やジオプロセシング サービスのメッセージ レベル プロパティがなしに設定されている場合、エラー応答の詳細プロパティは、上記の例で示したように空になります。

メモ:

キャンセル操作は実行操作でサポートされていません。キャンセル操作はジョブの送信 (submitJob) 操作でのみサポートされています。

関連トピック


このトピックの内容
  1. タスクの実行方法