Select to view content in your preferred language

Mobile Geodatabase Registration

200
2
a month ago
EdwardBlair
Regular Contributor

We are working with a mobile solution vendor that relies on ArcGIS sync-enabled feature services to replicate enterprise data to mobile devices.  The services all reference non-versioned, archive-enabled feature classes in an enterprise Geodatabase.  We're following the 'pre-planned' model where we create the initial 'golden' mobile geodatabases on the server and distribute these initially to all clients.  The first time a mobile user connects to the server it is supposed to be 'registered' with the enterprise - obtaining a new replica ID that will subsequently be used to determine what enterprise updates need to be propagated on later "synchronize" events.

Many, maybe even most times the initial registration task will succeed.  Unfortunately, we've found that in a noticeable number of cases the registration does NOT succeed, meaning that subsequent synchronization will not occur.  This is bad.

It seems that once registration has failed, further efforts at registration will also fail. 

We haven't seen any pattern for registration attempts that fail versus attempts that succeed -- not to say there aren't any, we just have not seen them.

The vendor says they cannot replicate the issue.  No comment warranted here.

Comments from anyone has experienced this, or knows anything of this behavior, would be greatly appreciated.

Thx,

Ed

0 Kudos
2 Replies
EdwardBlair
Regular Contributor

FWIW -  Appears our vendor has been able to reproduce this issue and, we think, fix it.  

The 'fix' would be to wrap the awaited asynchronous RegisterGeodatabaseAsync request within another awaited asynchronous method.    Which seems like they would be telling the SDK, 'wait for a response to this request, and this time I really mean it!'

Not exactly sure why this would work, but it appears to in preliminary testing.

Ed

0 Kudos
EdwardBlair
Regular Contributor

To close the loop on this, the 'fix' by wrapping the RegisterGeodatabaseAsync request within another method does seem to work after a fair bit of testing.

Which is good... though it also means the vendor's product never would have worked for any previous customer.  But that's another topic.

Ed

0 Kudos