Mobile SDK > Disconnected mobile application reference > Mobile Synchronization Web Service (MobileSyncWebService) reference > MobileSyncWebService process flow
 
MobileSyncWebService process flow
The normal client synchronization process flow is as follows:
1 Conduct an HTTP GET for the /Logon URL, and specify an UNICOM Intelligence Interviewer - Server Admin user name and password (basic authentication). The MobileSyncWebService responds with HTTP OK (Status=200). The response includes a Session-Token value in the HTTP header that must be included in all subsequent requests.
2 Conduct an HTTP GET for the /Projects URL, including the Session-Token in the HTTP header. The response is a list of available projects for the user, and is provided as XML.
3 For each project where the client includes response data, conduct a POST of RespondentData XML to /Projects/PROJECT/RespondentData. RespondentData XML contains all data for all respondents, including case data, sample updates, and quota updates. When images, audio, or other respondent related files are available, upload the file with /Projects/PROJECT/RespondentFiles/FILE.
Note It is important to upload the RespondentData XML before downloading Sample or Quota. Uploading the XML allows the system to properly identify differences when Sample and Quota updates are requested.
4 For each project, conduct an HTTP GET for the /Projects/PROJECT URL, which returns project information (versions, languages, contexts, label types, and routing contexts). This step helps the client to decide which URLs to request.
5 For each project, conduct a GET request to /Projects/PROJECT/Questions. The URL returns Question XML for the most recent survey version's default Language, Context, and LabelType (LCL). Other versions, or LCLs, can be used by specifying them in the URL.
6 For each project, conduct a GET request to /Project/PROJECT/Routing. The URL returns Routing XML for the most recent survey version's default routing context.
7 For each project, conduct a GET request to /Projects/PROJECT/Resources. A list of subdirectories and files is returned. The subdirectory and file content can then be requested by using the appropriate URLs.
8 If the project information indicates that sample management is required, the appropriate sample data can be retrieved from /Projects/PROJECT/SampleData. All the sample records, that are assigned to the user, and any accompanying data are returned. If the project was previously requested, the GET request includes XML that describes the current sample. The XML ensures that only changes are retrieved.
9 If the project information indicates that quotas are used, the appropriate quota data can be retrieved from /Projects/PROJECT/Quotas. The quota targets, that are applicable to the user, are returned.
10 When the client finishes all requests, it should conduct a GET for the /Logoff URL that specifies the original Session-Token value. The GET process invalidates the session token. Otherwise, the session token is automatically invalidated after 10 minutes after the last request. The setting is configurable in the web.config file.
Note The process flow order represents the expected URL call order. The mobile application is responsible for ensuring that the URL call order is correct. The MobileSyncWebService does not enforce the URL call order.
See also
Mobile Synchronization Web Service (MobileSyncWebService) reference