2.2.3.177.17 Status (Sync)

The Status element is a required child element of the Collection element, the Change element, the Add element, the Delete element, and the Fetch element in Sync command responses. It is an optional child element of the Sync element in Sync command responses.

Elements referenced in this section are defined in the AirSync namespace, except where otherwise indicated by the presence of a namespace prefix (as defined in section 2.2.4).

Command request/response

Parent elements

Child elements

Data type

Number allowed

Sync command response (section 2.2.1.21)

Collection (section 2.2.3.29.2)

Change (section 2.2.3.24)

Add (section 2.2.3.7.2)

Delete (section 2.2.3.42.2)

Fetch (section 2.2.3.67.2)

None

integer ([MS-ASDTYPE] section 2.6)

1…1 (required)

Sync command response

Sync (section 2.2.3.180)

None

integer

0…1 (optional)

As a child element of the Sync element, the Status element indicates the success or failure of the Sync command request. If the request failed, the Status element contains a code that indicates the type of failure.

As a child element of the Collection element, the Status element indicates the success or failure of the Sync command operation on the collection. If the operation failed, the Status element contains a code that indicates the type of failure.

As a child element of the Change element, the Add element, or the Fetch element, the Status element indicates the success or failure of the change operation, the add operation, or the fetch operation, respectively. If the operation failed, the Status element contains a code that indicates the type of failure.

The following table lists the status codes for the Sync command (section 2.2.1.21). For information about the scope of the status value and for status values common to all ActiveSync commands, see section 2.2.2.

Value

Meaning

Cause

Scope

Resolution

1

Success.

Server successfully completed command.

Global

None.

3

Invalid synchronization key.

Invalid or mismatched synchronization key.

—or—

Synchronization state corrupted on server.

Global

MUST return to SyncKey element value (section 2.2.3.181.4) of 0 for the collection. The client SHOULD either delete any items that were added since the last successful Sync or the client MUST add those items back to the server after completing the full resynchronization.

4

Protocol error.

There was a semantic error in the synchronization request. The client is issuing a request that does not comply with the specification requirements.

Item or Global

Double-check the request for accuracy and retry the Sync command.

5

Server error.

Server misconfiguration, temporary system issue, or bad item. This is frequently a transient condition.

Global

Retry the synchronization. If continued attempts to synchronization fail, consider returning to synchronization key 0.

6

Error in client/server conversion.

The client has sent a malformed or invalid item.

Item

Stop sending the item. This is not a transient condition.

7

Conflict matching the client and server object.

The client has changed an item for which the conflict policy indicates that the server's changes take precedence.

Item

If it is necessary, inform the user that the change they made to the item has been overwritten by a server change.

8

Object not found.

The client issued a fetch or change operation that has a CollectionId (section 2.2.3.30.6) or ServerId (section 2.2.3.166.8) value that is no longer valid on the server (for example, the item was deleted).

Item

Issue a synchronization request and prompt the user if necessary.

9

The Sync command cannot be completed.

User account could be out of disk space.

Item

Free space in the user's mailbox and retry the Sync command.

12

The folder hierarchy has changed.

Mailbox folders are not synchronized.

Global

Perform a FolderSync command (section 2.2.1.5) and then retry the Sync command.

13

The Sync command request is not complete.

An empty or partial Sync command request is received and the cached set of notify-able collections is missing.

Item

Resend a full Sync command request.

14

Invalid Wait or HeartbeatInterval value.

The Sync request was processed successfully but the wait interval (Wait element value (section 2.2.3.198)) or heartbeat interval (HeartbeatInterval element value (section 2.2.3.88.2)) that is specified by the client is outside the range set by the server administrator.

If the HeartbeatInterval element value or Wait element value included in the Sync request is larger than the maximum allowable value, the response contains a Limit element that specifies the maximum allowed value.

If the HeartbeatInterval element value or Wait value included in the Sync request is smaller than the minimum allowable value, the response contains a Limit element that specifies the minimum allowed value.

Item

Update the Wait element value according to the Limit element and then resend the Sync command request.

15

Invalid Sync command request.

Too many collections are included in the Sync request.

Item

Notify the user and synchronize fewer folders within one request.

16

Retry

Something on the server caused a retriable error.

Global

Resend the request.

Protocol Versions

The following table specifies the protocol versions that support this element. The client indicates the protocol version being used by setting either the MS-ASProtocolVersion header, as specified in [MS-ASHTTP] section 2.2.1.1.2.6, or the Protocol version field, as specified in [MS-ASHTTP] section 2.2.1.1.1.1, in the request.

Protocol version

Element support

2.5

Yes

12.0

Yes

12.1

Yes

14.0

Yes

14.1

Yes

16.0

Yes

16.1

Yes