Esri API 10.2 - 错误代码:400“无法完成操作”

时间:2013-12-02 14:42:10

标签: ios arcgis esri

我正在开发一个iOS应用程序来收集" FeatureLayerEditingSample"之后的数据(你可以在这里找到它:FeatureLayerEditingSample)。

我使用Esri的iOS sdk版本10.2 当我尝试向我的要素图层添加新要素(简单或附件)时,会发生此错误。

此外,有时只有一个或两个特定附​​件无法同步,错误显示"因为无法完成操作"。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

问题是我使用的是版本化数据库。删除版本再次有效。

答案 1 :(得分:0)

使用REST API添加新功能时,请确保使用 POST 执行请求,并确保包含 f 功能 POST主体中的参数。 下面是JavaScript(AngularJS)中POST请求的示例 - 它可以轻松地转换为任何其他语言:

$scope.addFeature= function(){

            var url = "http://services6.arcgis.com/dD0xfCNJ6qLYAvCQ/arcgis/rest/services/US_Election_2016/FeatureServer/0/addFeatures";

            var newFeature = {
            "geometry" : {"x" : -122.504002, "y" : 45.448060},  
            "attributes" : {
              "CandidateName" : "Hillary Clinton"
            },
            "spatialReference" : {
            "wkid" : "4326"
            }
            };

            var features = [];
            features.push(newFeature);

           var featuresString = JSON.stringify(features);

            data = "f=json&features="+featuresString;

            var config={
              headers : {
                'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'
            }};

           $http.post(url, data, config)
           .then(
               function(response){
                 console.log(response);
               }, 
               function(response){
                 console.log(response);
               }
            );
       }