成功的任务结果
作业成功后 (jobStatus = esriJobSucceeded),服务器将为输入和输出参数创建新资源,这些参数可通过 URL 访问。状态请求的服务器响应将包含输入和结果 URL 的相关信息。输出参数为 Output_Polygons 缓冲点任务 JSON 响应的示例如下所示。请注意,输出和输入参数的值是相对 URL,与执行任务的结果值相反。
成功任务结果的 JSON 响应
{
"jobId": "ja892cd2a90d149db9a171fc86ff530b4",
"jobStatus": "esriJobSucceeded",
"results": {
"Output_Polygons": {
"paramUrl": "results/Output_Polygons"
}
},
"inputs": {
"Input_Features": {
"paramUrl": "inputs/Input_Features"
}
},
"messages": [
]
}
成功完成作业时,客户端必须发送检索各输出参数的请求。客户端可通过使用各自的资源 URL 获取输入或输出结果。结果 URL 为 http:///results/。输入 URL 为 http:///inputs/。来自这些资源的响应将成为参数的值,根据客户端的请求,响应可以是任何 JSON/KML/AMF/HTML 输出格式。数据类型 GPFeatureRecordSetLayer 的 Output_Polygons 输出参数的 JSON 响应示例如下。请注意,响应包含参数名称、数据类型和参数值。
结果输出参数的 JSON 响应
{
"paramName": "Buffer_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.499937415,
684676.8331969082
],
[
7643683.927544653,
684675.5310036391
] ...more
]]}
}],
"exceededTransferLimit": false
}
}
下图总结了某次 submitJob 操作的服务器/客户端通信。请注意,客户端会定期发送状态请求以确定作业的状态。客户端可确定各次状态请求的间隔时间。服务器成功完成作业的执行后,将创建可通过 URL 访问的结果和输入资源。
同样,如果地理处理服务发布时启用了通过地图服务查看结果,则任务执行成功时服务器将创建输出参数的结果地图服务。任务的每个地理数据集输出参数都将对应地图服务中的一个图层,并将根据任务参数定义的图层符号系统进行绘图。