Semi-offline WPF app. We sync a local Geodatabase from a version-enabled FeatureServer, with "create new version for each downloaded map" = true (AGE).
I am using REST API calls, not the SDK methods, as I have some special needs.
Situation:
- I have created a new gdb by calling /createReplica
- I edited a feature in default via a web interface (attribute value change)
- I edited the same feature in my WPF app (geometry change)
When I want to synchronize the local gdb with server, I do
- GeodatabaseSyncTask.ExportDeltaAsync()
- call to /uploads/upload with the local delta
- call to /synchronizeReplica with
- syncDirection=upload
- editsUploadID=ID that I got from the upload
- async=true
- I poll the job status until completion
- call to /versions/{myReplicaVersion}/reconcile
- wrapped in start and stop of reading and editing
- abortIfConflicts=false
- conflictDetection=byAttribute
- withPost=true
- call to /synchronizeReplica with
- syncDirection = download
- async=true
- I poll the job status until completion
- here I get a "remote" delta geodatabase
- GeodatabaseSyncTask.ApplyDeltaAsync(gdb, remoteDeltaFile)
- here I get "Service error code 3070: Update failure. There are pending edits on the feature. This feature will not be synchronized."
I can see my local changes have been applied to default.
I can understand why I am getting the error in point 8. What do I do to make the ApplyDelta work?