2.2.5.8 LockAndCoauthRelatedErrorCodeTypes

The LockAndCoauthRelatedErrorCodeTypes simple type is used to represent error codes that occur during the processing of a coauthoring, schema lock, or exclusive lock subrequest.

 <xs:simpleType name="LockAndCoauthRelatedErrorCodeTypes">
    <xs:restriction base="xs:string">
       <xs:enumeration value="LockRequestFail"/>
       <xs:enumeration value="FileAlreadyLockedOnServer"/>
       <xs:enumeration value="FileNotLockedOnServer"/>
       <xs:enumeration value="FileNotLockedOnServerAsCoauthDisabled"/>
       <xs:enumeration value="LockNotConvertedAsCoauthDisabled"/>
       <xs:enumeration value="FileAlreadyCheckedOutOnServer"/>
       <xs:enumeration value="ConvertToSchemaFailedFileCheckedOutByCurrentUser"/>
       <xs:enumeration value="CoauthRefblobConcurrencyViolation"/>
       <xs:enumeration value="MultipleClientsInCoauthSession"/>
       <xs:enumeration value="InvalidCoauthSession"/>
       <xs:enumeration value="NumberOfCoauthorsReachedMax"/>
       <xs:enumeration value="ExitCoauthSessionAsConvertToExclusiveFailed"/>
    </xs:restriction>
 </xs:simpleType>

The value of LockAndCoauthRelatedErrorCodeTypes MUST be one of the values in the following table.

Value

Meaning

"LockRequestFail"

Indicates an undefined error that occurs during the processing of lock operations requested as part of a cell storage service subrequest.

"FileAlreadyLockedOnServer"

Indicates an error when there is an already existing exclusive lock on the targeted URL for the file or a schema lock on the file with a different schema lock identifier. When the "FileAlreadyLockedOnServer" error code is returned as the error code value in the SubResponse element, the protocol server returns the identity of the users who are currently holding the lock on the file in the ErrorMessage attribute. The ErrorMessage and ErrorCode attributes are defined in section 2.2.4.8.

"FileNotLockedOnServer"

Indicates an error when no exclusive lock exists on a file and a release of the lock or a conversion of the lock is requested as part of a cell storage service request.

"FileNotLockedOnServerAsCoauthDisabled"

Indicates an error when no shared lock exists on a file because coauthoring of the file is disabled on the server.

"LockNotConvertedAsCoauthDisabled"

Indicates an error when a protocol server fails to process a lock conversion request sent as part of a cell storage service request because coauthoring of the file is disabled on the server.

"FileAlreadyCheckedOutOnServer"

Indicates an error when the file is checked out by another client, which is preventing the file from being locked by the current client. When the "FileAlreadyCheckedOutOnServer" error code is returned as the error code value in the SubResponse element, the protocol server returns the identity of the user who has currently checked out the file in the error message attribute. The ErrorMessage and ErrorCode attributes are defined in section 2.2.4.8.

"ConvertToSchemaFailedFileCheckedOutByCurrentUser"

Indicates an error when converting to a shared lock fails because the file is checked out by the current client.

"CoauthRefblobConcurrencyViolation"

Indicates an error when a save of the File coauthoring tracker, which is maintained by the protocol server, fails after some other client edited the File coauthoring tracker before the save is done by the current client. The File coauthoring tracker is defined in section 3.1.1.

"MultipleClientsInCoauthSession"

Indicates an error when all of the following conditions are true:

  • A coauthoring subrequest of type "Convert to exclusive lock" or schema lock subrequest of type "Convert to exclusive lock" is requested on a file.

  • There is more than one client in the current coauthoring session for that file.

  • The ReleaseLockOnConversionToExclusiveFailure attribute specified as part of the subrequest is set to false.

"InvalidCoauthSession"

Indicates an error when one of the following conditions is true when a coauthoring subrequest or schema lock subrequest is sent:

  • No coauthoring session exists for the file.

  • The current client does not exist in the coauthoring session for the file.

  • The current client exists in the coauthoring session, but protocol server is unable to remove it from the coauthoring session for the file.

A coauthoring session indicates a shared lock on the coauthorable file that is shared by one or more clients.

"NumberOfCoauthorsReachedMax"

Indicates an error when the number of users that coauthor a file has reached the threshold limit. The threshold limit specifies the maximum number of users allowed to coauthor a file at any instant in time. The threshold limit MUST be set to an integer value with a minimum allowed value of 2 and maximum allowed value of 99.

ExitCoauthSessionAsConvertToExclusiveFailed

Indicates an error when a coauthoring subrequest or schema lock subrequest of type "Convert to exclusive lock" is sent by the client with the ReleaseLockOnConversionToExclusiveFailure attribute set to true, and there is more than one client editing the file.